FE-876: Integration oracle — reachability gate + grounding seam#220
FE-876: Integration oracle — reachability gate + grounding seam#220kostandinang wants to merge 2 commits into
Conversation
76dabdc to
4b2ab45
Compare
7490ee1 to
6139723
Compare
4b2ab45 to
decc14d
Compare
6139723 to
abb2725
Compare
92af4c7 to
6a7e6c1
Compare
abb2725 to
56fa05d
Compare
PR SummaryMedium Risk Overview Half A — concrete probe: Half B — grounding seam: Optional Tests boot real Reviewed by Cursor Bugbot for commit ce73674. Bugbot is set up for automated code reviews on this repo. Configure here. |
6a7e6c1 to
cae46da
Compare
a188d00 to
cc32bd0
Compare
8b72f34 to
eb1c494
Compare
cc32bd0 to
57fd42c
Compare
…he verify-epic verdict Amp-Thread-ID: https://ampcode.com/threads/T-019ecb9a-9a08-733b-833d-76885fc8243a Co-authored-by: Amp <amp@ampcode.com>
…able ProbeGrounder Amp-Thread-ID: https://ampcode.com/threads/T-019ecb9a-9a08-733b-833d-76885fc8243a Co-authored-by: Amp <amp@ampcode.com>
57fd42c to
f32bdf1
Compare
eb1c494 to
ce73674
Compare

Stack Context
Stacks on FE-875 (#219). Sixth Arc-1 frontier (the dispatch-seam one) -- promotes FE-800's integration-blind follow-on to a frontier: a feature that exists but isn't wired into the running app (the orphan) should fail the verdict, not pass on green unit tests. Half A + the Half B seam land here.
What?
Assert product reachability at epic verification, building on
app-runtime-probe(FE-875).verify-epic,pi-actions.ts):Epic.probe?: ProbeTargetfolds arunProberesult into the epic verdict --doneonly when tests pass and the feature is reachable.not-reachable= the orphan;infra= harness fault. Gated behind tests passing (never boot a broken build); reachability rides the existingreport.passedrouting (no new Petri wiring); absent probe -> unchanged unit verdict.ProbeGrounder,types.ts+createPiActions): host-blindEpic.reachability?intent (architect-emittable, D160-K) + an injectable grounder that cook-time-resolves intent -> concreteProbeTarget.verify-epicresolvesprobe ?? ground(reachability); a grounder that throws is aninfrafault (visible, not a silent pass); intent without a grounder is inert.Why?
The
dogfood-spike(2026-06-16) showed the agent wired the feature reachable by discretion, not enforcement. This makes reachability an enforced, harness-owned, unshortcuttable gate. The split mirrorsapp-runtime-probe: the harness owns the check (Half A, off-seam, buildable now); the agent owns grounding the target (Half B). Half B lands the contract only -- the production grounder is anexecute-mode agent reading the worktree, the coordination point with the unpublished pi-harness thread.Tests
Real
node:httpapps booted in tmp epic sandboxes (no mocks), pi session stubbed -- reachable -> pass, 404 -> orphan-fail, failing-tests -> probe-never-boots, no-probe -> unchanged; Half B: intent -> grounded -> reachable, no-grounder -> no-op, grounder-throws -> infra, concrete-probe precedence.Deferred (dispatch seam)
The production
ProbeGrounderagent + architect emission ofreachabilityintent -- land atomically with the pi-harness contract, so intent is enforced the moment it's emitted (and doesn't perturb the 3 reference fixtures first).Co-authored-by: Amp amp@ampcode.com