Skip to content

chat: restore connected accounts in standing firings - #1715

Closed
ZeroPoint95 wants to merge 1 commit into
devfrom
fix/standing-connected-accounts
Closed

ZeroPoint95 wants to merge 1 commit into
devfrom
fix/standing-connected-accounts

Conversation

@ZeroPoint95

Copy link
Copy Markdown
Collaborator

What changed

Standing firings now inherit the live window’s connected-account manager, while detached ticks open the profile manager for their pass. Behavioral tests cover tool availability and nil-manager absence. The existing 15-minute Notion automation is unchanged.

Checks

  • make build: passed.
  • Focused standing tests: passed.
  • make pr-ready: failed on existing macOS /private/var/folders versus /var/folders path assertions in five cmd/codeaf tests. An isolated earlier run also hit three such assertions in internal/session. No standing-account test failed.

This PR remains draft until the gate is green; the deployed automation is not yet restored.

—
Drafted with CodeAF · reviewed and owned by the author

v3StandingPosture built session.Config without Connect, so a firing's
session.connect hub was nil and `services`/`use_service` were missing from
every standing task even when the account was connected. Live conversations
already inject proc.Conns, derived once per process by v3Connect.

v3StandingPosture and v3StandingTicker now take the accounts manager as a
parameter. The live window's tick loop passes p.Conns, so the firing reaches
the very object the surface and every conversation hold and the two never keep
separate caches over one connect store. The detached `codeaf tick` has no
process to borrow from, so it resolves the profile's manager once before it
builds its pass. Nil stays nil: a firing with no manager still carries no
account tool rather than one fabricated to fill the gap.

Three behavioral tests drive the ticker's Runner probe path: the caller's
manager is handed back unchanged, a connected-manager firing reaches
`services`, and a nil-manager firing reads "Unknown tool: services".

Assisted-by: CodeAF (deepseek-v4.1-flash)
Co-Authored-By: CodeAF <[email protected]>
(cherry picked from commit 4c9f0ecae198fd02f297df300501a743b58b5f1b)
@santoshkumarradha santoshkumarradha added bug Something the code does that it should not area:session The engine — turns, tasks, the toolbelt, checkpoints labels Oct 3, 2026
@santoshkumarradha santoshkumarradha added this to the Reliable agent milestone Oct 3, 2026
@santoshkumarradha santoshkumarradha added area:provider Routing, lanes, refusals, hedging, what a call costs sev:serious Wrong or missing behaviour a person meets in ordinary use labels Oct 3, 2026
@santoshkumarradha
santoshkumarradha force-pushed the fix/standing-connected-accounts branch from 17b1f9c to 4a86386 Compare October 24, 2026 21:54
@AbirAbbas

Copy link
Copy Markdown
Collaborator

Thanks for spotting the missing connected-account context and testing both the shared-manager and nil-manager cases. Standing orders, and the ticker this changes, were replaced by automations in #1831. Today's clock uses the common conversation assembly with its single process account manager, and focused checks on dev and app/v3 confirm the services probe works with that manager and stays absent when it's nil. Closing this as obsolete, since the replacement path already covers it.

@AbirAbbas AbirAbbas closed this Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:provider Routing, lanes, refusals, hedging, what a call costs area:session The engine — turns, tasks, the toolbelt, checkpoints bug Something the code does that it should not sev:serious Wrong or missing behaviour a person meets in ordinary use

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants