Skip to content

fix(web): preserve structured detail integrity - #699

Merged
testikun merged 2 commits into
openpi-dev:mainfrom
outlier27-cell:fix/web-details-special-keys
Oct 9, 2026
Merged

testikun merged 2 commits into
openpi-dev:mainfrom
outlier27-cell:fix/web-details-special-keys

Conversation

@outlier27-cell

Copy link
Copy Markdown
Contributor

Problem

Closes #695. Web structured tool-detail projection silently dropped legitimate own __proto__ keys, changing the projection object's prototype. It also stopped at an exhausted node budget without reporting omitted array elements or later object properties.

Value

Operators receive intact structured evidence or an explicit truncation marker, rather than a complete-looking result that silently lost data.

Approach

Define own data properties without invoking prototype setters. Detect budget exhaustion before visiting a remaining item, preserving complete values exactly at the budget boundary. Existing policy still omits partial details and reports truncation.details. Reusable source findings are recorded in docs/research/WEB_STRUCTURED_DETAILS_2026-10-07.md.

Validation

  • Special-key and array/object exhaustion regressions failed on the baseline, then passed after the fix; exact-boundary coverage prevents false omission claims.
  • Node protocol suite: 25 passed.
  • bun run check: passed.
  • bun run test: executed; 2180 passed, 12 failed, 14 skipped in the local Windows Node suite. Existing renderer/footer assertions, symlink EPERM and worktree-validation timeout remain; runner stops before the UI suite. No full local pass is claimed. Exact-head GitHub CI will be verified.
  • No installed browser, model or private Session was used.

Impact

Only Web evidence projection changes. No tools, model context, permissions, Session persistence or setup options change. Global prototype pollution is not claimed. Byte, depth, node, property and accessor boundaries remain bounded.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Oct 7, 2026
@outlier27-cell

Copy link
Copy Markdown
Contributor Author

@tt-a1i 请审核此 PR。最新提交已通过完整 GitHub CI,当前可合并;如有需要调整的地方,我会在原分支及时修复。

@testikun testikun left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

已复查 结构化详情投影、特殊自有键和精确预算边界(提交 6726241cbe67),并核对相关调用点和回归覆盖。本次未发现新增的 P1/P2。

@testikun
testikun merged commit dcc267c into openpi-dev:main Oct 9, 2026
30 of 35 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(web): preserve special JSON keys in structured tool details

2 participants