Commit Graph

46388 Commits

Author SHA1 Message Date
Shakker
2d65786d8c test: tighten doctor load-path policy assertion 2026-05-11 06:34:13 +01:00
Shakker
59f2ef0499 test: tighten hook approval assertions 2026-05-11 06:33:41 +01:00
Ayaan Zaidi
c929376c4e ci(mantis): let codex action create home 2026-05-11 11:03:16 +05:30
Ayaan Zaidi
35483b1a4a test(telegram): cover shared reply context path 2026-05-11 11:01:26 +05:30
Ayaan Zaidi
5841087cb9 fix(telegram): build inbound turns with shared context 2026-05-11 11:01:26 +05:30
Ayaan Zaidi
e5ff9891b8 refactor(channels): expose shared turn context builder 2026-05-11 11:01:26 +05:30
Shakker
b68e39fb18 test: tighten external plugin catalog assertion 2026-05-11 06:31:21 +01:00
Peter Steinberger
d170b600d3 test: tighten command info assertions 2026-05-11 06:29:56 +01:00
Shakker
6e318f8aec test: tighten bundled metadata package assertion 2026-05-11 06:29:14 +01:00
Ayaan Zaidi
eb73486a94 ci(mantis): share codex action home 2026-05-11 10:57:29 +05:30
Peter Steinberger
12d367da8b test: tighten matrix access-state assertions 2026-05-11 06:27:22 +01:00
Peter Steinberger
fd38a8a36d test: relax provider normalization expectations 2026-05-11 06:27:17 +01:00
Peter Steinberger
ebbdeab270 test: avoid bundle manifest helper name collision 2026-05-11 06:27:17 +01:00
Peter Steinberger
dba631c195 test: allow readonly bundle manifest fixtures 2026-05-11 06:27:17 +01:00
Peter Steinberger
27304de56a docs: note compaction gateway log fix 2026-05-11 06:27:17 +01:00
Peter Steinberger
7d9b13df05 fix(agents): narrow compaction subscription events 2026-05-11 06:27:17 +01:00
Peter Steinberger
f618a5aba9 style(agents): format compaction event types 2026-05-11 06:27:17 +01:00
Ruben Cuevas
d88e11acf7 fix(agents): restore compaction gateway logs 2026-05-11 06:27:17 +01:00
Shakker
190d1ce848 test: tighten plugin http route assertions 2026-05-11 06:26:40 +01:00
Peter Steinberger
0782609c33 test: tighten matrix monitor config assertions 2026-05-11 06:25:29 +01:00
Shakker
932f1c9e40 test: tighten external plugin repair hint assertion 2026-05-11 06:25:13 +01:00
Shakker
04f428fa06 test: tighten plugin load context assertions 2026-05-11 06:22:59 +01:00
Peter Steinberger
9dda1012c4 test: tighten tools command assertions 2026-05-11 06:21:47 +01:00
Ayaan Zaidi
042e09612e ci(mantis): run codex as unprivileged user 2026-05-11 10:50:56 +05:30
Shakker
4ae5de712d test: tighten provider validation assertions 2026-05-11 06:20:51 +01:00
Ayaan Zaidi
4a009612c9 fix(docker): prune with source workspace policy 2026-05-11 10:50:30 +05:30
Peter Steinberger
16bf9d36d4 test: tighten message hook assertions 2026-05-11 06:20:02 +01:00
Shakker
f1b929a562 test: tighten provider auth env trust assertions 2026-05-11 06:19:24 +01:00
pandadev66
217940dfdc test(agents/bundle-mcp): assert live splitSdkTools customTools boundary in Docker e2e harness
Extend the existing Pi bundle-MCP Docker e2e harness so the live stdio MCP
probe also exercises `splitSdkTools` and asserts the configured server tool
reaches `customTools` for coding/messaging and is filtered out for minimal
and `tools.deny: ["bundle-mcp"]`. The harness already had real materialize
plus profile-filter coverage against a real stdio MCP child, but did not
assert the splitSdkTools().customTools boundary, which is the value the SDK
serializes to the outbound provider request body and the disputed boundary
on #76063.

Refs #76063.
2026-05-11 06:18:57 +01:00
pandadev66
6b8abb3c79 test(agents/bundle-mcp): cover configured MCP request-boundary path (#76063)
Add focused regression coverage for the request boundary called out by
ClawSweeper triage on #76063: configured (`cfg.mcp.servers.<name>`) tools
must materialize, survive `applyFinalEffectiveToolPolicy`, and reach
`splitSdkTools().customTools`, which is the value the SDK sends to the
provider as `customTools`. The materialize, policy, and split units each
have their own unit tests, but the full chain was uncovered, which is why
v2026.4.27 was able to silently drop server__* tools from outbound
request bodies. Run with a fake `SessionMcpRuntime` so the test does not
boot a real stdio child:

- coding profile keeps configured `server__*` tools in customTools
- messaging profile keeps configured `server__*` tools in customTools
- minimal profile strips them
- explicit `tools.deny: ["bundle-mcp"]` strips them under coding
- materialize ordering survives the request boundary so prompt cache
  keys stay stable across turns

Refs #76063.
2026-05-11 06:18:57 +01:00
Shakker
b94a829b70 test: tighten installed manifest registry assertions 2026-05-11 06:18:14 +01:00
Peter Steinberger
9f20a5669d test: tighten daemon lifecycle assertions 2026-05-11 06:17:37 +01:00
Pavan Kumar Gondhi
93ff72a5e8 fix(matrix): gate name-based allowlist resolution [AI] (#79007)
* fix: gate matrix mutable name resolution

* addressing codex review

* addressing codex review

* addressing codex review

* address feedback

* addressing codex review

* addressing codex review

* addressing codex review

* addressing codex review

* chore: drop unrelated matrix fix churn

* chore: refresh channel config metadata

* chore: remove unrelated formatting churn

* docs: add changelog entry for PR merge
2026-05-11 10:47:27 +05:30
Shakker
c17b0e50e4 test: tighten postinstall hotfix assertions 2026-05-11 06:17:03 +01:00
Peter Steinberger
def356c4b0 test: tighten plugin CLI assertions 2026-05-11 06:15:23 +01:00
Shakker
b383af3ceb test: tighten activation planner assertion 2026-05-11 06:14:48 +01:00
Peter Steinberger
5a80be35e9 fix: track cron execution milestones 2026-05-11 06:14:22 +01:00
Shakker
52b1f58638 test: tighten metadata registry loader assertions 2026-05-11 06:13:43 +01:00
Peter Steinberger
22f5e99c31 test: tighten agent CLI registration assertions 2026-05-11 06:12:08 +01:00
Shakker
f1ab8ea171 test: tighten manifest command alias assertions 2026-05-11 06:11:59 +01:00
Shakker
52574943af test: tighten bundle manifest assertions 2026-05-11 06:11:05 +01:00
Peter Steinberger
17308cf4bb test: tighten agent gateway assertions 2026-05-11 06:10:37 +01:00
Fusion future
66c47a9aa3 fix: use pathToFileURL for Windows path comparison in generate-base-config-schema
Summary:
- Use Node's pathToFileURL for the base-config schema generator entrypoint guard so Windows backslash paths are recognized correctly.
- Keep the schema generation logic unchanged and preserve the current changelog attribution.

Verification:
- node --import tsx scripts/generate-base-config-schema.ts --check
- pnpm build
- pnpm check
- GitHub CI passed, including Real behavior proof, auto-response, ClawSweeper dispatch, and full repository checks.

Co-authored-by: Fusion future <23738961+easyteacher@users.noreply.github.com>
2026-05-11 00:09:35 -05:00
sxxtony
b2dab308ae fix(slack): include bot root message in new thread sessions (#79338) (#80409)
* fix(slack): include bot root message in new thread sessions (#79338)

When a user replies in-thread to a bot's own message in a Slack DM,
the new thread session was constructed without the parent/root message
content. The agent only saw `reply_to_id` metadata and could not
resolve what was being replied to, leading to confident-but-wrong
actions on follow-up corrections.

The thread-context resolver was filtering out every message authored
by the current bot before formatting thread history, including the
bot's own root message. For thread-replies starting a fresh session,
that left the agent without the parent context it needed.

This change retains current-bot messages in the thread history when
starting a new thread session, formats them with role=assistant under
a "Bot (this assistant)" sender label, and adds
`channels.slack.thread.includeRootMessage` (default `true`) to opt out.
Bot messages still bypass allowlist visibility filtering since the
bot's own output is not third-party content.

Fixes #79338.

* fix(slack): wire includeRootMessage into runtime config schema (#79338)

The first commit added `channels.slack.thread.includeRootMessage` to
the TypeScript type and zod schema, but the runtime AJV-style schema
generated from `extensions/slack/src/config-ui-hints.ts` rejected the
new field with `must NOT have additional properties` at gateway boot.

Adds the matching UI hint entry for `thread.includeRootMessage` and
regenerates the bundled channel config metadata so the live gateway
accepts the new field.

* Narrow Slack thread root context handling

Remove the public includeRootMessage config and keep the Slack thread fix focused on including only the current bot's root message on the first turn of a new thread session.

Preserve filtering of arbitrary current-bot Slack history while ensuring #79338 has parent/root context.

* Fix Slack thread root CI checks

---------

Co-authored-by: Bek <bek.akhmedov@gmail.com>
2026-05-11 01:09:03 -04:00
Shakker
c640ff4d53 test: tighten provider static catalog context assertion 2026-05-11 06:08:59 +01:00
Peter Steinberger
44d7e6810a test: tighten gateway health assertions 2026-05-11 06:08:38 +01:00
Shakker
109ddd0436 test: tighten group access prompt assertion 2026-05-11 06:07:49 +01:00
Ayaan Zaidi
1debcecc91 ci(mantis): run telegram proof on blacksmith 2026-05-11 10:35:53 +05:30
Shakker
0388b05655 test: tighten bootstrap plugin cache assertion 2026-05-11 06:05:24 +01:00
Peter Steinberger
21c8818b40 test: tighten codex route warnings assertions 2026-05-11 06:04:54 +01:00