ciregenz
a99e310940
[eric] diagnostics: attach secret-scrubbed 9router stderr tail to model_error telemetry (was masked 'check stderr')
2026-06-16 04:35:54 -07:00
ciregenz
07ef98f7e5
[eric] approvals: persist tool policy on Always-approve (set_always_allow through the approval path)
2026-06-16 04:00:08 -07:00
ciregenz
c9caaf8a8c
[eric] permissions: default Bash to always_allow (seed + one-time lift) so shell commands stop prompting
2026-06-16 04:00:04 -07:00
ciregenz
1f86a66b87
[eric] swarm: remap view-card parent_session_id on share (new #89 field would import dangling)
2026-06-16 03:46:29 -07:00
Aidan and GitHub
d2d0ce74aa
[aidan] ux/app-builder-dashboard: improve app builder dashboard ( #89 )
...
* [aidan] ux: when agent creates app always opens in dashboard
* [aidan] enhancement: app editing ui mimicing browseragents
* [aidan] ui/ux: when building app window appears immediately
* [aidan]: app view spacing dashboard mimicing browser
* [aidan] ux: app error agent loop
* [aidan] fix: remove duplicate logic
2026-06-16 03:44:40 -07:00
ciregenz
131b3136eb
[eric] sessions: get_all_sessions reads disk too so imported (and post-restart) dashboard cards render instead of blank
2026-06-16 03:03:28 -07:00
ciregenz
2301ff7a70
[eric] swarm: read live session from memory first on export, plus full dashboard round-trip test
2026-06-16 02:41:25 -07:00
ciregenz
65eaab47ae
[eric] tests: make aux-model resolver tests deterministic (set Pro bearer token, stop reading live provider state)
2026-06-16 01:59:20 -07:00
SirKentut and Claude Opus 4.8
8cf868784f
[pierre] fix/app-agent: re-attach app controls on every task
...
Run AppDescribe and front-load the app's controls each task in app mode,
not just on fresh conversations. The bridge can appear between runs and a
resumed history may carry a stale screenshot-it strategy; re-reading the
controls re-points the agent at the bridge instead of inheriting old fumbling.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 00:52:00 -07:00
Aidan and GitHub
de2e70ca8f
[aidan] fix/browser-early-close: let agent keep browser open when result lives on the page ( #88 )
2026-06-15 19:00:40 -07:00
ciregenz
3bf1b0da79
[eric] mcp: break the ToolSearch loop, redirect a stuck agent to MCPActivate for gated servers
2026-06-15 18:58:50 -07:00
ciregenz
39c837fee7
[eric] swarm: carry the chat transcript when sharing an agent (was dropped, scrub layer guards secrets)
2026-06-15 18:58:44 -07:00
SirKentut and Claude Opus 4.8
a35bfaaf7d
[pierre] feat/app-agent: drive web apps through the OPENSWARM_APP bridge
...
Browser agent gains app-control logic + schema, app-builder skill doc,
run.sh agent-bridge presence check, and app-agent tests.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-15 15:06:10 -07:00
ciregenz
b0401b06d0
[eric] openai: route the thinking-slider effort param to gpt/codex (not just claude)
2026-06-15 14:46:48 -07:00
ciregenz
46e92c9fe0
[eric] dashboards: drop orphan session cards from GET so a dead-session card stops 404ing on load
2026-06-15 14:34:16 -07:00
ciregenz
bd73d49828
[eric] mcp-gate: property-test the activation gate (forwarded => activated) + Z3 formal proof
2026-06-15 14:22:48 -07:00
ciregenz
ad00fd19ae
[eric] error-classify: schema-translation 400s aren't auth; gemini RESOURCE_EXHAUSTED is transient
2026-06-15 14:05:21 -07:00
ciregenz
2bb5ee05f6
[eric] swarm: generative dashboard remap-invariant test + symlink unpack rejection
2026-06-15 14:01:50 -07:00
ciregenz
ad1a9b439e
[eric] swarm: validate manifest structure at stage time (root/dup-id/edge integrity, outside checksum)
2026-06-15 14:00:19 -07:00
ciregenz
c43da8950e
[eric] swarm: scan workspace file bytes for secrets on export, not just payload keys
2026-06-15 13:59:11 -07:00
ciregenz
62acc4b8c0
[eric] models: drop banned Claude Fable + unrunnable Gemini 3.1 Pro from the picker
2026-06-15 13:44:22 -07:00
ciregenz
076c47617a
[eric] gemini: prefer connected Antigravity over AI Studio key + fail-fast read timeout
2026-06-15 12:36:29 -07:00
ciregenz
235fa47d15
[eric] providers: openai own-key keeps cp-openai/ prefix so 9router can route it
2026-06-15 11:59:11 -07:00
ciregenz
f93d6e02d1
[eric] 9router: port the 0.4.x /api auth gate (x-9r-cli-token) to unblock a version bump
2026-06-14 20:27:39 -07:00
ciregenz
124b128ed1
[eric] proxy: fix non-Anthropic first-msg 400s (Gemini allowlist + gpt-5 sampling strip)
2026-06-14 16:58:26 -07:00
ciregenz
9086ef5af2
Merge remote-tracking branch 'origin/eric/dev' into eric/dev
2026-06-14 08:59:19 -07:00
cire and GitHub
e47ac3bf67
Revert "[aidan] bug: dashboard not renaming during first run" ( #83 )
...
This reverts commit 2d7be0e8ac .
2026-06-14 08:58:49 -07:00
ciregenz
7eeb864a29
[eric] swarm: archive checksum (reject tampered) + transactional rollback on import
2026-06-14 08:07:17 -07:00
Aidan and GitHub
f08f71313f
[aidan] ui/ux: auth flow fixes ( #84 )
...
* aidan] bug: fixed 2 auth claude login issue
* [aidan] bug: claude login w email+pw
* [aidan] ui: edited message for cases where anthropic redirects to enter email code even after login'
* [aidan] ui/ux: fix connecting status accuracy
2026-06-14 07:55:24 -07:00
SirKentut
f90975f006
feat(webapp-template): ship agent bridge (window.OPENSWARM_APP) as a hook, not a doc
...
Add agentBridge.ts and import it FIRST in index.tsx so the bridge is
installed on the window before any app code runs.
The visitor / door / doorbell analogy:
- The visitor is the agent. It shows up wanting to operate the app:
read the rules, see the controls, take an action, check what happened.
- The door is window.OPENSWARM_APP. A single, always-present surface the
visitor can knock on: describe() to learn the app, getState() to read a
snapshot, invoke(name, args) to act.
- The doorbell is register({ rules, controls, getState, invoke }). The app
presses it on mount to say "I'm home, here's how to talk to me." Until it
does, describe()/getState() answer { __ready: false } so the visitor
knows the app is still booting and waits, instead of concluding nobody
lives here.
Why a hook and not just an .md:
A markdown instruction ("please expose your controls on window.X") is a
request the app can forget, half-implement, or drift from, and nothing
fails when it does. The bridge ships WITH the template and is imported
before app code, so the door exists from first paint whether or not the
author thought about agents. The app's only job is to press the doorbell
once; it never wires the plumbing, so it cannot get the plumbing wrong.
The contract is executable, not aspirational, which is the difference
between every generated app being agent-operable by default and hoping
each one remembered to be.
2026-06-14 07:49:13 -07:00
ciregenz
4e1df63b7c
Merge remote-tracking branch 'origin/eric/dev' into eric/dev
2026-06-14 07:44:15 -07:00
ciregenz
6899ea5bd1
[eric] swarm: dashboard export/import (closure of agents+apps+modes, two-class deps)
2026-06-14 06:44:16 -07:00
ciregenz
9b80d0417a
[eric] swarm: workflow export/import entity (lazy store, schedule-off + PII-strip on import)
2026-06-14 06:27:52 -07:00
ciregenz
d2a7b79eaf
[eric] swarm: app export/import (workspace tree, .env regen) + code-safety review
2026-06-14 06:11:16 -07:00
ciregenz
d7b2dfce7b
[eric] swarm: backend tests for redaction, zip-slip/bomb, skill round-trip
2026-06-14 05:55:33 -07:00
ciregenz
ace783f4ef
[eric] swarm: .swarm bundle engine + skill export/import endpoints
2026-06-14 05:55:28 -07:00
SirKentut and Claude Opus 4.8
eb6278ff5c
fix(webapp-template): self-heal half-installed vite warm cache
...
An npm install killed mid-warm leaves node_modules/ populated but no
.bin/, so _ensure_warm_cache (which only checked the dir exists) trusted
the half-tree forever and every app symlinked to it died with
`vite: command not found`. Gate the cache on .bin/vite existing, and
harden the app's frontend/run.sh skip-install guard the same way.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-14 02:35:19 -07:00
Aidan and GitHub
2d7be0e8ac
[aidan] bug: dashboard not renaming during first run
2026-06-14 01:22:13 -07:00
ciregenz
685314b313
[eric] free-trial: skip the idle cache-warm ping on the free lane (useless across rotating pool accounts, and it'd burn a run at idle)
2026-06-13 19:06:57 -07:00
ciregenz
bf8b450e33
[eric] free-trial: tag the remaining per-query aux calls (turn-label, group-meta, cache-warm, preflight) so one query stays one run
2026-06-13 19:03:35 -07:00
ciregenz
846c13e8ad
[eric] free-trial: tag title-gen with the session id so a query + its title-gen = one run
2026-06-13 18:52:51 -07:00
ciregenz
01df3cde17
[eric] free-trial: fresh task-id per query so each query is its own run (cancel or not)
2026-06-13 18:42:49 -07:00
ciregenz
94e17c4b50
[eric] free-trial: arm gate ignores our own managed Claude node (trial no longer self-clears on relaunch)
2026-06-13 18:09:03 -07:00
ciregenz
e4740b74c1
[eric] free-trial: pin the trial to Haiku end-to-end (desktop + subagent) so the CLI never sends effort
2026-06-13 17:38:06 -07:00
ciregenz
c8a86cd3ff
[eric] free-trial: set ENABLE_TOOL_SEARCH=auto on the proxy branch (tool-defer+cache_control 400)
2026-06-13 17:17:28 -07:00
ciregenz
b9d90250b7
[eric] updater: evergreen silent install-on-idle (staged update + idle + no agents)
2026-06-13 16:06:26 -07:00
ciregenz
8b6a65fc4b
[eric] free-trial: tag free-lane calls with the session id so 1 task = 1 run
2026-06-13 16:03:02 -07:00
ciregenz
10fa59057d
[eric] settings: boot drops the managed Pro connection when disconnected, so 'disconnect Pro -> free trial arms' actually works
2026-06-13 04:19:46 -07:00
ciregenz
861f3520f9
[eric] app-builder: drop the em-dash from the skill prompt (precedence: no em/en-dashes anywhere)
2026-06-13 02:08:31 -07:00
ciregenz
5291a4ae60
[aidan] merge #79 : QoL, sidebar ui/ux, titles, text compaction, bug fixes
2026-06-13 02:06:54 -07:00