Ingest a new AnimeGameData (AGD) build end-to-end — deobfuscation mappings, TextMap fallback-list audit, first-seen version index, and corpus regen. Use when bumping AGD_PATH / AGD to a new game version.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Identify and add new AnimeGameData field deobfuscation mappings by comparing cleartext and obfuscated AGD revisions. Use when a new Genshin Impact build changes obfuscated JSON field names or when rust/istaroth-agd-regen/src/deob.rs needs a new version mapping block.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Fill in new deobfuscation entries in rust/istaroth-agd-regen/src/deob.rs by comparing a cleartext AGD revision against a new obfuscated HEAD revision.
AnimeGameData (AGD, at path <AGD>) periodically ships new builds where field names in JSON files are obfuscated. The file rust/istaroth-agd-regen/src/deob.rs maintains COMMON, a static map of obfuscated keys → cleartext field names. Each new obfuscation round needs a new batch of entries.
The set of fields to find is determined by reading the latest comment block section already in COMMON (e.g. // OSRELWin6.3.0_R41701329_S41708913_D41667700) and using its cleartext values as the target list.
Read rust/istaroth-agd-regen/src/deob.rs to find:
cd <AGD> && git log --oneline HEAD | head -1
This gives the comment label for the new section (e.g. CNRELWin6.4.0_R42630645_S42523468_D42623923).
Use these four reference file types (adjust filenames to ones that exist at both revisions):
BinOutput/Quest/<id>.json — quest-level fields plus subQuests and talks itemsBinOutput/Talk/Npc/<id>.json — talkId, dialogList, dialog item fieldsBinOutput/Talk/GadgetGroup/<id>.json — configId, talks (group-level)BinOutput/Talk/NpcGroup/<id>.json — npcId, talks (group-level)For each file, show both revisions:
cd <AGD>
git show <cleartext_rev>:<file_path>
git show HEAD:<file_path>
Match values between cleartext and obfuscated versions to identify which obfuscated key corresponds to which cleartext field.
Quest file disambiguation tip: id, resId, series, and chapterId can all share the same value in some quests. Cross-check with a second quest (e.g. BinOutput/Quest/74078.json) where they differ:
git show <cleartext_rev>:BinOutput/Quest/74078.json | python3 -c "
import json,sys; d=json.load(sys.stdin)
print('id:', d.get('id'), 'resId:', d.get('resId'), 'series:', d.get('series'), 'chapterId:', d.get('chapterId'))"
git show HEAD:BinOutput/Quest/74078.json | python3 -c "
import json,sys; d=json.load(sys.stdin)
for k,v in d.items():
if isinstance(v,int) and v>1000: print(k,':',v)"
Cross-check identified keys against a second quest file to confirm subId/order/questId/npcId:
git show HEAD:BinOutput/Quest/74078.json | python3 -c "
import json,sys; d=json.load(sys.stdin)
sq=d.get('<subQuests_key>',[])
for s in sq[:2]: print({k:v for k,v in s.items() if isinstance(v,int) and v>0})
tk=d.get('<talks_key>',[])
for t in tk[:2]: print({k:v for k,v in t.items() if isinstance(v,(int,list)) and v})"
Append a new block at the end of COMMON in rust/istaroth-agd-regen/src/deob.rs, covering exactly the fields from the latest previous section that were found in the reference files:
// <HEAD commit title>
("<OBF_KEY>", "<cleartext_field>"),
...
Only include fields actually observed in the reference files. Skip any that could not be confirmed. Rebuild and run the tests (AGD_PATH=<AGD> cargo test --manifest-path rust/Cargo.toml) to confirm.
id appears in top-level quest, inside subQuests items, and inside talks items — all map to the same key).npcId in NpcGroup files also appears as activityId at the group's top level — false collision; npcId is correct for item context and the top-level field is unused by this codebase.COMMON before adding.ANECDOTE (for ExcelBinOutput/AnecdoteExcelConfigData.json) is a separate per-file mapping whose cleartext names are invented — the file has shipped obfuscated since its 5.4 introduction, so no cleartext revision exists to diff against. Re-derive its keys each build by value-matching entries against the previous build's file: anecdote ids, quest ids, and the cleartext isHide are stable anchors, and the deobfuscate_anecdote_excel_config_data test in rust/istaroth-agd-regen/tests/agd_integration.rs pins the expected hashes for entry 100001.아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Ingest a new AnimeGameData (AGD) build end-to-end — deobfuscation mappings, TextMap fallback-list audit, first-seen version index, and corpus regen. Use when bumping AGD_PATH / AGD to a new game version.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Generate or update CHANGELOG.md from landed git history. Use when the user asks to "write a changelog", "update the changelog", or summarize what changed over the last week/period.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create a simple, modern HTML review page and run a local browser feedback loop with inline element/text annotations and structured questions. Use when the user wants to discuss or iterate on a design, plan, comparison, scope decision, content draft, or other topic that is easier to review visually than in chat.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Squash the current branch's work into a single commit and open (or update) a GitHub pull request with Graphite (`gt`). Use when asked to "create a PR", "open a pull request", "put this up for review", or to update an existing PR for the current branch.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Regenerate, audit, commit, and push Istaroth's generated text corpus in the text/ submodule. Use when the user asks to "regen corpus", regenerate committed text output, audit a corpus diff for content loss, or push a previously verified text regeneration.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Add or revise retrieval-quality eval fixtures under istaroth/rag/eval/retrieval_fixtures/ (one JSON file per category, e.g. breadth.json). Use when asked to add a retrieval eval case, add a new eval category, improve a fixture's ground truth, or harden fixtures against false misses. Fixtures grade whether retrieval surfaces the sources a query needs, measured by passage-anchored facet coverage.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.