[Prism] docs: replace https://rxjs-dev.firebaseapp.com#83
Open
arjuncooliitr wants to merge 1 commit into
Open
Conversation
Generated by Prism (AI Week 2026)
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
arjuncooliitr
added a commit
to arjuncooliitr/prism-appbuilder-agent
that referenced
this pull request
Apr 23, 2026
Priority 1 from the "what to build in the last days" ranking: the failure
case from the reflection is now a success case. No agent, no LLM call for
the fix itself, just mechanical find-and-replace when the issue gives us
enough signal to extract an (old, new) pair.
New module actions/common/deterministic-fix.js (~130 lines):
- extractPairFromRegex(title, body) tries five heuristics in order:
1. aio issue template with Expected Behaviour / Actual Behaviour sections
each containing a URL (this is exactly what #32 uses)
2. "replace X with Y" / "replace X by Y"
3. "change X to Y"
4. Inline backtick arrow: `old` → `new` or `old` -> `new`
5. Conservative "`old` should be `new`"
- applyReplacement(pair, ghAccess) greps the repo (skipping binary
extensions and files > 200KB), rewrites every file where the old string
appears, and stages an edit per file (capped at 10 files).
- tryDeterministicTypoFix({issue, ghAccess, logger}) is the top-level
entry: extract → grep → rewrite. Returns null if extraction fails or
no files match, letting the caller fall through to the Claude loop.
Integration in actions/fix-issue:
- For archetype === 'typo', try the deterministic path BEFORE spinning up
the Claude tool-use loop. If it succeeds, skip Claude entirely and chain
straight into create-pr.
- Extracted a shared buildDraft() helper so the draft/body/diff shape is
identical across the deterministic and Claude paths — just the method
label and summary differ.
- Extracted stageAndOpenPR() helper so the "persist draft + inline-chain
create-pr + 504-tolerant state writes" dance is in one place.
- PR body now includes `Method: deterministic find-and-replace` or
`Method: Claude tool-use loop (model)` for provenance.
Verified end-to-end: the same issue #32 that couldn't be committed across
four Claude attempts (8+ minutes of iterations, ~55k input tokens,
hitting the 5-min runtime timeout twice) now produces
adobe/aio-lib-events#83 in under 10 seconds — 3 files modified (README.md,
src/index.js, types.d.ts), 3 occurrences each, draft PR opened, no LLM
invoked for the fix.
Updated REFLECTION.md to flip the #32 section from "unresolved dead-end"
to "dead-end → lesson → fix shipped" — keeps the original failure writeup
as context and adds the Day-4 resolution.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prism autonomous fix for #32
Archetype: typo
Priority: P3
Method: deterministic find-and-replace
Deterministic find-and-replace:
https://rxjs-dev.firebaseapp.com→https://rxjs.dev(3 files, extracted via expected-actual-urls).Files changed
README.md— Replace 3 occurrences ofhttps://rxjs-dev.firebaseapp.comsrc/index.js— Replace 3 occurrences ofhttps://rxjs-dev.firebaseapp.comtypes.d.ts— Replace 3 occurrences ofhttps://rxjs-dev.firebaseapp.comCloses #32