FE-1317: Close host-landing oracle identity over PTY behavior - #413
FE-1317: Close host-landing oracle identity over PTY behavior#413lunelson wants to merge 3 commits into
Conversation
Include every behavior-bearing PTY input in the immutable oracle pack and pin per-input hash sensitivity so retained comparisons cannot reuse a stale identity. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep deterministic Tier-2 boots isolated from ambient provider credentials and make provenance fixtures independent of global Git signing configuration. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR SummaryLow Risk Overview New dispatch tests assert stable hashes for identical packs and distinct hashes when any single PTY file changes, without altering PTY runtime behavior. Test reliability: tier-2 “no available model” coverage now forces an empty model list (and stubs ambient Reviewed by Cursor Bugbot for commit f109ea4. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit f109ea4. Configure here.
| "extensions": [ | ||
| "-extensions/subagents/index.ts" | ||
| "/Users/lunelson/.pi/agent/extensions/subagents/index.ts", | ||
| "+/Users/lunelson/.pi/agent/extensions/subagents/index.ts" |
There was a problem hiding this comment.
Accidental personal path commit
High Severity
extensions in .pi/settings.json was replaced with absolute paths under a personal home directory, including a redundant force-include. That drops the prior project-relative force-exclude of the vendored subagents extension and is unrelated to the oracle-identity or flakiness work in this PR.
Reviewed by Cursor Bugbot for commit f109ea4. Configure here.
There was a problem hiding this comment.
Pull request overview
This PR closes a provenance gap in Brunch’s execution-comparison system by ensuring the host-landing oracle’s immutable “oracle pack” fingerprint includes all PTY behavior-bearing inputs, and adds regression coverage to prove the fingerprint changes on any relevant input change while remaining stable for identical inputs. It also includes small changes intended to reduce test flakiness from ambient developer environment configuration.
Changes:
- Extend the compiled
brunch-host-landing-oracles-v1implementation file set to includetui-driver/keys.tsandtui-driver/driver.expso PTY-driving behavior is fully captured in the oracle pack hash. - Add a regression test that mutates each PTY input one-at-a-time and asserts the oracle pack hash changes, while identical inputs produce an identical hash.
- Hardening for local-environment flakiness: force “no model available” in Tier-2 harness services, avoid signed tags in git fixtures, and isolate provider creds from a determinism test.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/dev/tier-2-harness.ts | Forces the “no model available” harness path to stay deterministic by overriding model availability to empty. |
| src/dev/execution-comparison/tests/operator-oracle-dispatch.test.ts | Adds regression coverage asserting oracle pack hash sensitivity per PTY input and stability for identical inputs. |
| src/dev/execution-comparison-operator.ts | Adds keys.ts and driver.exp to host-landing compiled oracle implementationFiles for fingerprint completeness. |
| src/dev/comparison-provenance.test.ts | Prevents local git signing config from affecting tag creation in fixtures via git tag --no-sign. |
| src/dev/tests/tier-2-harness.test.ts | Stubs provider env vars to ensure deterministic boots don’t become live turns due to ambient credentials. |
| memory/PLAN.md | Marks FE-1317 as completed and removes the now-closed frontier definition entry. |
| docs/archive/PLAN_HISTORY.md | Archives the FE-1317 closeout summary and traceability notes. |
| .pi/settings.json | Updates Pi settings (currently introduces machine-local absolute paths). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "extensions": [ | ||
| "-extensions/subagents/index.ts" | ||
| "/Users/lunelson/.pi/agent/extensions/subagents/index.ts", | ||
| "+/Users/lunelson/.pi/agent/extensions/subagents/index.ts" | ||
| ] |



Why
Brunch's automated product-comparison system needs an ironclad guarantee: whenever anything about how it drives and observes a terminal session changes, old comparison results must be treated as stale rather than silently reused. That guarantee had a gap — a few files that affect terminal-driving behavior weren't part of the fingerprint used to detect change.
What
How to test
npm run verify:fullpasses.