Skip to content

feat(core): add observer forced-tool evaluation - #1647

Merged
kunickiaj merged 1 commit into
mainfrom
09-07-feat_core_add_observer_forced-tool_evaluation
Sep 8, 2026
Merged

feat(core): add observer forced-tool evaluation#1647
kunickiaj merged 1 commit into
mainfrom
09-07-feat_core_add_observer_forced-tool_evaluation

Conversation

@kunickiaj

@kunickiaj kunickiaj commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Description

Adds a provider-neutral forced-tool contract and fail-closed tool-call parser, without enabling unsupported provider cells. It also adds benchmark reporting for output mode, validation, retries, contract integrity, semantic quality, and per-run constrained-output failures, plus operator documentation for rollout and diagnostics.

Type of Change

  • 🚀 Feature (new functionality)
  • 🐛 Bug fix (fixes an issue)
  • 📚 Documentation (docs-only change)
  • 🔧 Maintenance (refactor, chore, CI, etc.)
  • 🧪 Testing (test-only changes)

Testing

  • Relevant checks pass locally (pnpm run tsc, pnpm run lint, pnpm run test)
  • Added/updated tests for changes
  • Manually verified changes work as expected

Full suite: 251 files passed; 6,263 tests passed and 3 todo.

Checklist

  • Code follows project style (pnpm run lint passes for touched files)
  • Self-review completed
  • Documentation updated (if needed)
  • No new warnings introduced

kunickiaj commented Sep 7, 2026

Copy link
Copy Markdown
Owner Author

@kunickiaj
kunickiaj marked this pull request as ready for review September 7, 2026 22:07
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-08T02:39:54.899615Z d70c5cb New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cbfb6c4dad

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/cli/src/commands/memory.ts
Comment thread packages/cli/src/commands/memory.ts Outdated
Comment thread packages/cli/src/commands/memory.ts
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from cbfb6c4 to 2659d65 Compare September 7, 2026 23:47
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_route_observer_output_by_capability branch from 56f9ad9 to 6a456c4 Compare September 7, 2026 23:47

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2659d65512

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/cli/src/commands/memory.ts Outdated
Comment thread packages/cli/src/commands/memory.ts
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from 2659d65 to 20a4e39 Compare September 8, 2026 00:01

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 20a4e397f8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/cli/src/commands/memory.ts
Comment thread packages/cli/src/commands/memory.ts
Comment thread packages/cli/src/commands/memory.ts
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from 20a4e39 to f2bd19d Compare September 8, 2026 00:09
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_route_observer_output_by_capability branch from 6a456c4 to 35ad867 Compare September 8, 2026 00:09
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from f2bd19d to 841fe04 Compare September 8, 2026 00:22

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 841fe04f1a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/cli/src/commands/memory.ts
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_route_observer_output_by_capability branch 2 times, most recently from b99f0ee to 3c9c56c Compare September 8, 2026 00:47
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from 841fe04 to abb6f00 Compare September 8, 2026 00:47

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: abb6f003d8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread packages/cli/src/commands/memory.ts
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_route_observer_output_by_capability branch from 3c9c56c to df638da Compare September 8, 2026 02:14
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from abb6f00 to dfd177c Compare September 8, 2026 02:14
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_route_observer_output_by_capability branch from df638da to c595ce1 Compare September 8, 2026 02:21
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from dfd177c to 4f65a07 Compare September 8, 2026 02:21

kunickiaj commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

Merge activity

  • Sep 8, 2:32 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Sep 8, 2:34 AM UTC: Graphite rebased this pull request as part of a merge.
  • Sep 8, 2:39 AM UTC: @kunickiaj merged this pull request with Graphite.

@kunickiaj
kunickiaj changed the base branch from 09-07-feat_core_route_observer_output_by_capability to graphite-base/1647 September 8, 2026 02:32
@kunickiaj
kunickiaj changed the base branch from graphite-base/1647 to main September 8, 2026 02:32
@kunickiaj
kunickiaj force-pushed the 09-07-feat_core_add_observer_forced-tool_evaluation branch from 4f65a07 to d70c5cb Compare September 8, 2026 02:33
@kunickiaj
kunickiaj merged commit 31f2017 into main Sep 8, 2026
15 checks passed
@kunickiaj
kunickiaj deleted the 09-07-feat_core_add_observer_forced-tool_evaluation branch September 8, 2026 02:39

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d70c5cbbc3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +1282 to +1285
robustnessNoOutput: attempts.filter(
(attempt) =>
attempt.purpose === "replay_robustness" &&
(attempt.status === "observer_no_output" || attempt.status === "output_failure"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Distinguish malformed robustness responses from no output

When a replay_robustness attempt returns invalid JSON, a schema-invalid envelope, or another constrained-output failure where provider output was present, this predicate still increments robustnessNoOutput. The JSON summary and human-readable Observer no-output cases line therefore misclassify malformed responses as absent responses, corrupting the benchmark's robustness diagnostic; retain failure reasons in the attempt summary and count only genuinely missing/no-output failures, or report this metric as general robustness failures.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant