Skip to content

fix(agents): honor prompt contracts across generation paths - #8

Merged
hyperb1iss merged 7 commits into
mainfrom
nova/prompt-contracts
Sep 7, 2026
Merged

fix(agents): honor prompt contracts across generation paths#8
hyperb1iss merged 7 commits into
mainfrom
nova/prompt-contracts

Conversation

@hyperb1iss

@hyperb1iss hyperb1iss commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Iris could lose structured findings during Studio chat edits, let repository history override an explicit no-emoji setting, and parse streamed artifacts differently from normal generation. The agent now preserves typed drafts and applies the same task, schema, and critic contracts across both execution paths.

The prompt audit used current Astra, Opus 5, and Gemini guidance. Shared instructions separate task authority from repository evidence; the eight capabilities no longer impose fixed file caps, mandatory investigation sequences, fictional release examples, or oversized PR outlines. Evidence gates, selected comparison refs, changelog heading syntax, and human templates remain part of the contract. The prompt contract guide records the sources and evaluation limits.

Behavior and compatibility

  • Saved custom instructions now apply across capabilities. Earlier versions applied them only to PR descriptions. Configuration guidance explains how to scope artifact-specific rules.
  • Studio preserves Auto and explicit emoji choices, passes custom emoji constraints without discarding other instructions, and retains review findings, evidence, and statistics through chat updates.
  • Workers inherit parent scope and constraints and can complete tool loops. Streaming uses the final model response instead of intermediate narration; critic revisions retain the original artifact.
  • GitHub review publication checks the captured base commit as well as the head. A base advance can change the merge base while the head remains fixed.
  • Intel Mac Homebrew source installs build the binary correctly. A validation-only workflow builds release artifacts without publishing.

Validation

The local gate passes: 331 tests, 9 existing ignored tests, formatting, and all-target Clippy with warnings denied. Thirteen runtime tests use actual local HTTP/SSE exchanges for instruction routing, delegated tool turns, all five structured artifact types, and critic behavior. Crate packaging verifies; documentation and the manual build; Studio startup, help, and quit pass a PTY smoke test.

An identical synthetic commit fixture was run before and after on Astra and Opus 5. Both now honor --no-gitmoji and the expanded saved-instruction scope. Four calls establish those narrow behaviors, not an overall generation-quality benchmark.

Independent reviews checked the prompt/runtime changes, Studio updates, base-commit guard, Homebrew paths, workflow publication gates, and documentation. The candidate matrix passed for commit cfb5a5e: Linux x64/ARM64, macOS ARM64, and Windows GNU builds and binary smoke tests, plus Debian/RPM packaging and Docker checks. All publication jobs were skipped. The PR workflow also passed.

hyperb1iss and others added 7 commits September 6, 2026 15:59
Editing a review through chat previously replaced its typed findings
with markdown. Carry the complete Review through the tool, event, and
reducer, and provide its full JSON to subsequent edits so hidden findings
and evidence remain available.

Use Unicode-safe draft previews and drain successful queued updates when
generation completes. Regression tests exercise the full update path,
multibyte boundaries, preserved metadata, and completion ordering.

Co-Authored-By: Nova (GPT-6) <noreply@openai.com>
A fixed pull request head does not fix the three-dot comparison when
its base absorbs part of the branch. Validate the captured base SHA
at both publication checks so findings retain their analyzed scope.

Exercise the changing merge base with a real Git graph and verify
that both HTTP rejection paths stop before posting a review.

Co-Authored-By: Nova (GPT-6 Astra) <noreply@openai.com>
Rust is a required build dependency rather than a formula option.
Select the Intel macOS source path explicitly so installation builds
the binary instead of selecting a manual page from the source tree.

Verify both formula variants across all four supported platform
branches with an isolated Ruby DSL harness.

Co-Authored-By: Nova (GPT-6 Astra) <noreply@openai.com>
Separate capability contracts from repository evidence and remove
fixed investigation recipes, fictional release examples, and padded
artifact templates. Send each contract once in the trusted preamble.

Apply saved instructions across capabilities and document the scope
change. Preserve explicit emoji choices, including Studio Auto mode,
and carry parent scope into workers with a usable tool-turn budget.

Exercise real HTTP instruction routing and delegated tool loops.
Live Astra and Opus comparisons confirm the explicit no-emoji policy
and expanded saved-instruction scope on the same synthetic fixture.

Co-Authored-By: Nova (GPT-6 Astra) <noreply@openai.com>
Allow manual validation of all native binaries and Linux packages
without creating releases or updating registries, tags, or taps.
Default dispatches to validation and make release publication opt in.

Use the manifest version for package paths, reject mismatched release
tags, and smoke-test each native binary before uploading artifacts.

Co-Authored-By: Nova (GPT-6 Astra) <noreply@openai.com>
Use the same schema and parser across generation paths, and consume
Rig's final response so tool narration cannot become the artifact.
Apply the configured critic policy to streaming and retain the
original content and contract during a requested revision.

Keep revision errors explicit when material issues remain. Preserve
underlying causes, reject foreign JSON wrappers, and avoid slicing
Unicode error previews at byte offsets.

Exercise HTTP and SSE exchanges for every structured artifact type,
tool turns, critic settings, and failed revisions.

Co-Authored-By: Nova (GPT-6 Astra) <noreply@openai.com>
Document the provider guidance behind the prompt changes, distinguish
runtime regression tests from model-quality evaluations, and replace
stale tool recipes with the current scope and evidence contracts.

Explain saved-instruction and worker-model migrations. Refresh the
manual and provider references, including routed providers and the
shared streaming and critic behavior.

Co-Authored-By: Nova (GPT-6 Astra) <noreply@openai.com>
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Warning

Review limit reached

  • Run on-demand review

On-demand reviews are free for the next 14 days. After that, they cost $0.25 per reviewed file.

Or wait 19 minutes for your next included review.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Team

Run ID: 613ecd56-8c13-4a1b-ac6b-0f9d8b9b5963

📥 Commits

Reviewing files that changed from the base of the PR and between 9a583a2 and cfb5a5e.

📒 Files selected for processing (53)
  • .github/workflows/cicd.yml
  • .github/workflows/release.yml
  • docs/architecture/agent.md
  • docs/architecture/capabilities.md
  • docs/architecture/context.md
  • docs/architecture/index.md
  • docs/architecture/prompting.md
  • docs/configuration/models.md
  • docs/configuration/project-config.md
  • docs/extending/capabilities.md
  • docs/extending/contributing.md
  • docs/extending/tools.md
  • docs/getting-started/configuration.md
  • docs/getting-started/index.md
  • docs/reference/cli.md
  • docs/user-guide/reviews.md
  • git-iris.1
  • homebrew/git-iris.rb
  • src/agents/capabilities/changelog.toml
  • src/agents/capabilities/chat.toml
  • src/agents/capabilities/commit.toml
  • src/agents/capabilities/pr.toml
  • src/agents/capabilities/release_notes.toml
  • src/agents/capabilities/review.toml
  • src/agents/capabilities/semantic_blame.toml
  • src/agents/capabilities/verify.toml
  • src/agents/iris.rs
  • src/agents/iris_runtime_tests.rs
  • src/agents/iris_tests.rs
  • src/agents/iris_workflow_tests.rs
  • src/agents/mod.rs
  • src/agents/prompts.rs
  • src/agents/setup.rs
  • src/agents/setup/tests.rs
  • src/agents/status_messages.rs
  • src/agents/tools/content_update.rs
  • src/agents/tools/git.rs
  • src/agents/tools/parallel_analyze.rs
  • src/config.rs
  • src/github.rs
  • src/github/review_target.rs
  • src/github/tests/review_target_tests.rs
  • src/instruction_presets.rs
  • src/studio/app/agent_tasks.rs
  • src/studio/app/mod.rs
  • src/studio/app/tests.rs
  • src/studio/events.rs
  • src/studio/handlers/mod.rs
  • src/studio/reducer/content.rs
  • src/studio/state/mod.rs
  • src/studio/tests/reducer_tests.rs
  • tests/agent_prompt_quality_tests.rs
  • tests/capability_prompt_tests.rs

Comment @coderabbitai help to get the list of available commands.

@hyperb1iss
hyperb1iss merged commit 1167549 into main Sep 7, 2026
30 checks passed
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