Skip to content

feat(feedback): read preferences and honor rollout denials (API-855) - #755

Merged
Codier merged 5 commits into
mainfrom
hulk/api-855-preferences
Oct 17, 2026
Merged

Codier merged 5 commits into
mainfrom
hulk/api-855-preferences

Conversation

@hulk-linus

@hulk-linus hulk-linus Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Read the account's saved feedback preference with nansen feedback preferences, in human or JSON form. Agents use a fresh read to decide whether to ask before reporting. The submit command stays noninteractive; lasting choices belong in Superapp settings.

A feedback_not_enabled refusal stops automatic retries. Saved IDs and earlier uncertain outcomes remain available for recovery. No preference setter or admission check is added.

API-855. The shared MCP reader ships in the companion PR.

Validation: current-head CI passed the full suite on Node 22 and 24. Node 22 reports 4,952 passed and 2 skipped across 116 files. The final local feedback suites passed 85 tests; lint passed. All 8 controlled CLI host scenarios passed: enabled, off, unconfigured, lookup failure, approval, refusal, host denial and inability to ask. Actual outgoing HTTP calls were observed against a local upstream.

BI: existing command success/failure events remain accurate. Preference values and report content are not recorded; no event schema changes.

AI execution metadata

  • Main writer/coordinator: OpenAI / Codex gpt-6.1-sol, high. Session 01a1489c-d3e4-7fb0-b2f2-2243876cef76.
  • Combined main-task usage snapshot at 2026-10-17T07:54:21.422Z: 43,447,983 input, 42,562,432 cached input, 151,630 output including 80,360 reasoning, 43,599,613 total. This is shared implementation/orchestration usage across both API-855 PRs and cannot be partitioned. Later closeout overhead is excluded.
  • Reviewer A: Factory / Anthropic claude-opus-5-5, high, verified from provider metadata. First pass session f9cb639c-d364-43cc-964b-35051a843e2a, input_tokens=40, cache_read_input_tokens=1478834, cache_creation_input_tokens=125319, output_tokens=22742, thinking_tokens=10833; total not supplied. Format correction session b1772f32-cb16-45f4-9cc6-b538155d155a, input_tokens=8, cache_read_input_tokens=37727, cache_creation_input_tokens=24694, output_tokens=4731, thinking_tokens=375; total not supplied. Distinct sessions; raw provider fields are preserved.
  • Reviewer B: Cursor / xAI grok-4.7-high-fast, high and fast, verified from provider metadata. First pass session d40ada9b-9c72-4045-9b6d-f66ae8b8640c, inputTokens=145903, cacheReadTokens=3624960, cacheWriteTokens=0, outputTokens=47460; reasoning and total not supplied. Final verification: session 1402028a-5510-481d-ab0f-24474f8c144d, inputTokens=124182, cacheReadTokens=2174848, cacheWriteTokens=0, outputTokens=42677; reasoning and total not supplied. Final report format correction: session 0b7fc41f-5ef5-480d-b95e-e3dd06d1c75a, inputTokens=26831, cacheReadTokens=107904, cacheWriteTokens=0, outputTokens=4941; reasoning and total not supplied. Usage is separate from the main-task snapshot.
  • Controlled reporting-host tests: OpenAI / Codex gpt-6.1-sol, high, 16 completed sessions shared across this PR set. Reported usage input_tokens=814864, cached_input_tokens=621312, cache_write_input_tokens=0, output_tokens=4651, reasoning_output_tokens=1621. Two initial timed-out starts supplied no completed-turn usage. These are policy tests, not writers or independent reviewers.

@nansen-pr-reviewer

nansen-pr-reviewer Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

nansen-pr-reviewer summary

The change adds a fresh account-preference read and rollout-denial handling, with schema, documentation, changeset, and regression coverage. The earlier uncertainty bug for HTTP 5xx responses followed by rollout denial is fixed, but a final exhausted HTTP 5xx response on the explicit-ID submit path still loses the uncertain-outcome classification and can encourage an unsafe new submission.

Findings by Severity

Severity Count
🟡 Medium 1

Deterministic check: success — Found 1 finding(s) within acceptable thresholds

Risk: 3/5 (Elevated)

✅ Auto-approved — Deterministic gates passed: severity thresholds met, recommendation "approve_with_comments", risk level 3/5 within threshold 3.


Token usage: 48,991 input, 1,662 output, 8,883 cache read | Usage Guide

Cooldown: for the next 10 minutes (counting from when this review finished), new pushes to this PR will not trigger another review — the next push after the window expires will. Need a fresh review sooner? Comment @nansen-pr-reviewer[bot] re-review.

nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Oct 17, 2026

@nansen-pr-reviewer nansen-pr-reviewer 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.

✅ Auto-approved by Nansen review

Deterministic gates passed: severity thresholds met, recommendation "approve", risk level 2/5 within threshold 3.

  • The deterministic severity check passed: No issues found
  • Risk level 2/5 (Low)
  • The model recommended: approve

Approval was decided by deterministic gates, not by the model. The model's recommendation can block auto-approval but never cause it.

@Codier Codier 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.

Preserve receipt validation for feedback get and the earlier uncertainty warning after a rollout denial.

Comment thread src/commands/feedback.js
nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Oct 17, 2026

@nansen-pr-reviewer nansen-pr-reviewer 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.

✅ Auto-approved by Nansen review

Deterministic gates passed: severity thresholds met, recommendation "approve_with_comments", risk level 3/5 within threshold 3.

  • The deterministic severity check passed: Found 1 finding(s) within acceptable thresholds
  • Risk level 3/5 (Elevated)
  • The model recommended: approve_with_comments

Approval was decided by deterministic gates, not by the model. The model's recommendation can block auto-approval but never cause it.

@Codier Codier 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.

No further code changes requested.

Comment thread src/commands/feedback.js
nansen-pr-reviewer[bot]
nansen-pr-reviewer Bot previously approved these changes Oct 17, 2026

@nansen-pr-reviewer nansen-pr-reviewer 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.

✅ Auto-approved by Nansen review

Deterministic gates passed: severity thresholds met, recommendation "approve_with_comments", risk level 3/5 within threshold 3.

  • The deterministic severity check passed: Found 1 finding(s) within acceptable thresholds
  • Risk level 3/5 (Elevated)
  • The model recommended: approve_with_comments

Approval was decided by deterministic gates, not by the model. The model's recommendation can block auto-approval but never cause it.

@Codier Codier 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.

Approved for merge.

@Codier
Codier merged commit 84ba0b0 into main Oct 17, 2026
17 checks passed
@Codier
Codier deleted the hulk/api-855-preferences branch October 17, 2026 09:48
@github-actions github-actions Bot mentioned this pull request Oct 17, 2026
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