Commit Graph

95 Commits

Author SHA1 Message Date
fatih.bulut d2a979038c docs(clone-app): fidelity-mode design spec
High-fidelity extraction mode for clone-app: skips feasibility phases
(effort/cost/verdict), deepens RE to full Tier-2 + in-app logic + nav
graph + inferred backend design, adds a fidelity build-spec variant.
Phase A (static deep) only; dynamic analysis deferred to a follow-on.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 23:23:22 +03:00
fatih.bulut f7da7007fc fix(clone-app): Unity XAPK detection, mono DLL path, game-assets manifest
- detect-unity.sh: handle XAPK bundles by extracting nested *.apk entries
  to a mktemp dir and merging their listings before grepping; /dev/stdin
  pipe approach is unreliable on macOS (unzip central-dir seek fails)
- tests/test-detect-unity.sh: add xapk il2cpp fixture — outer xapk wraps
  a Unity base.apk; asserts classification returns il2cpp
- SKILL.md mono branch: replace hardcoded $WORK/output/Managed/ path (jadx
  never creates it) with correct extract-from-APK step into $WORK/managed/;
  mirrors the il2cpp branch wording and adds XAPK note
- SKILL.md il2cpp+mono branches: add game-assets/manifest.json inventory
  step after unity-assets.sh so re-digest-contract.md claim is satisfied
- extract-design.py: remove unused imports sys and re

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 02:30:37 +03:00
fatih.bulut b4072218fd test(clone-app): smoke coverage for design + Unity scripts and rubrics 2026-06-25 02:23:20 +03:00
fatih.bulut 31888303e2 docs(clone-app): explicit mono ilspycmd command + RE context spans Phase 8
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 02:22:14 +03:00
fatih.bulut 257d07c6d0 feat(clone-app): wire design capture, Unity branch, Phase 8 build spec into SKILL 2026-06-25 02:20:12 +03:00
fatih.bulut d5f47138ea docs(clone-app): accurate design-tokens schema + Unity screenshot note 2026-06-25 02:17:31 +03:00
fatih.bulut 5f7b29b6b9 docs(clone-app): design-capture, unity-re, build-spec rubrics + contract/report updates 2026-06-25 02:15:02 +03:00
fatih.bulut 3c9bb564ce feat(clone-app): Unity tool wrappers (Il2CppInspectorRedux, AssetRipper) 2026-06-25 02:11:55 +03:00
fatih.bulut aad064d220 feat(clone-app): scrape screenshots, feature graphic, description from Play 2026-06-25 02:09:33 +03:00
fatih.bulut e3a29974f4 feat(clone-app): detect-unity.sh — classify il2cpp/mono/none APKs 2026-06-25 02:07:10 +03:00
fatih.bulut 014c07c36e feat(clone-app): extract-design.py — design tokens from decompiled res/ 2026-06-25 02:04:03 +03:00
fatih.bulut ec96bbd7d4 docs(clone-app): implementation plan — design capture, build spec, Unity 2026-06-25 02:01:47 +03:00
fatih.bulut aa912fc783 docs(clone-app): design spec — design capture, build spec, Unity support
Add design for pixel-perfect clone capture: APK resource design tokens +
Play screenshots, Unity IL2CPP/Mono RE + AssetRipper game assets, and a
standalone Clone Build Spec artifact feeding writing-plans.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 01:10:57 +03:00
masa2146 e0f1865843
Merge pull request #4 from masa2146/feat/market-research-v2
Feat/market research v2
2026-06-24 22:26:07 +03:00
fatih.bulut 6737558d56 test(market-research): cover v2 scripts in smoke; update README
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 23:13:06 +03:00
fatih.bulut 81a92fbc6f docs(market-research): fix intro phase count 6->8 in SKILL.md 2026-06-23 23:08:35 +03:00
fatih.bulut 323af07183 feat(market-research): 8-phase flow — dual-store charts, numeric enrich, Play links 2026-06-23 23:07:36 +03:00
fatih.bulut a13100f75c docs(market-research): report template with Play links, citations, saturation 2026-06-23 23:05:14 +03:00
fatih.bulut e61f2f7bd5 docs(market-research): numeric, evidence-required scoring 2026-06-23 23:03:34 +03:00
fatih.bulut 07aff55770 docs(market-research): add numeric-sources rubric 2026-06-23 23:01:33 +03:00
fatih.bulut f705033061 feat(market-research): add best-effort Google Trends fetcher
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 22:58:09 +03:00
fatih.bulut 36f64a4419 feat(market-research): add play.py count (saturation density)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 22:53:53 +03:00
fatih.bulut cd4edf2ad8 fix(market-research): match K/M/B-suffixed Play install counts 2026-06-23 22:50:24 +03:00
fatih.bulut 73e39c40e2 feat(market-research): add play.py resolve (name -> Play link + stats)
Live: org.isoron.uhabits returned for "habit tracker" with rating + last_updated.
installs null on live (Play DOM varies); offline test all 7 PASS.
2026-06-23 22:47:31 +03:00
fatih.bulut fbfa3aece7 feat(market-research): add play.google.com charts scraper
Replaces the AppBrain scraper (Cloudflare-blocked 403, confirmed dead).
play.google.com server-rendered chart HTML works: live-validated, real
Android packages + names + ratings from both /store/apps/top and
/store/apps/category/<CAT>. CLI: <top|category> [--category CAT]
[--region R] [--limit N] [--html-file F]; output source:"google-play",
entries {rank,name,package,rating}. Package link is the stable field;
title (Epkrse class) and rating are best-effort.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:42:20 +03:00
fatih.bulut c8eb023712 docs(market-research): drop AppBrain from numeric-sources list 2026-06-23 22:39:15 +03:00
fatih.bulut f1eef0560b docs(market-research): switch Play-chart source AppBrain->play.google.com
AppBrain is Cloudflare-blocked (403) for free scraping. play.google.com's
own /store/apps/top + /store/apps/category HTML works (validated live 46/46).
Rework Task 1, fetch-play-charts.py CLI/output, and all downstream prose.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:39:00 +03:00
fatih.bulut 4326bde33f feat(market-research): add AppBrain Play-charts scraper
NOTE: AppBrain returns a Cloudflare JS challenge (HTTP 403) for
automated requests; live fetch degrades gracefully to an error (the
skill falls back to Apple RSS + web search). Offline test passes
against synthetic fixture — that is the test gate per the brief.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 22:25:20 +03:00
fatih.bulut 753c81bff3 docs(market-research): v2 implementation plan (9 tasks, TDD)
Task-by-task plan: AppBrain Play-charts scraper, play.py resolve/count,
best-effort trends.py, numeric-sources rubric, numeric evidence-required
scoring, report w/ verified Play links + citations + saturation, 8-phase
survivor-only-enrichment SKILL flow, smoke/README/suite coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 22:04:18 +03:00
fatih.bulut ecd545bc65 docs(market-research): v2 design — multi-source, numeric scoring, Play links
Approved spec for market-research v2: AppBrain Play charts + Play
resolver/saturation scripts + best-effort Google Trends + curated numeric
sources, numeric source-cited scoring, 1-2 verified Play links per candidate,
survivor-only enrichment for efficiency.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 21:58:58 +03:00
fatih.bulut fa2d095692 docs: update CLAUDE.md for market-research plugin and 3-stage pipeline
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 02:09:19 +03:00
masa2146 0c0224d493
Merge pull request #3 from masa2146/feat/market_research_skill
Feat/market research skill
2026-06-22 01:15:43 +03:00
fatih.bulut cf96d35f1c chore(market-research): ignore __pycache__ and .pyc artifacts
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 01:06:02 +03:00
fatih.bulut 67ac1e6322 test(market-research): add run-all.sh suite aggregator 2026-06-22 01:02:03 +03:00
fatih.bulut 0da572ca1f feat(market-research): add 6-phase SKILL.md orchestrator with clone-app handoff 2026-06-22 00:59:25 +03:00
fatih.bulut c18ed6ab09 feat(market-research): add research-angles, scoring, and report rubrics 2026-06-22 00:56:42 +03:00
fatih.bulut ae840beaa3 feat(market-research): add history.py non-repeat memory with offline test 2026-06-22 00:52:45 +03:00
fatih.bulut 5beb04b43d feat(market-research): add fetch-charts.py App Store RSS fetcher with offline test 2026-06-22 00:49:57 +03:00
fatih.bulut 31502b5bbe feat(market-research): scaffold plugin, command, README, marketplace entry 2026-06-22 00:46:09 +03:00
fatih.bulut 1baf142ae5 docs(market-research): add implementation plan
Six-task TDD plan for the market-research plugin: scaffold + marketplace
entry, fetch-charts.py (App Store RSS), history.py (non-repeat memory),
reference rubrics, 6-phase SKILL.md with clone-app handoff, test aggregator.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 00:33:57 +03:00
fatih.bulut f2411edfd8 docs(market-research): add market-to-build pipeline design spec
Umbrella spec for two new plugins (market-research, hermes-build) plus a
one-branch clone-app Phase 7 edit, chaining discover -> analyze -> build.
Decomposes into three implementation plans built in order.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 00:12:35 +03:00
masa2146 d9594eb320
Merge pull request #2 from masa2146/re-skill
feat(clone-app): enhance HTTP request handling and update test cases …
2026-06-21 21:12:01 +03:00
fatih.bulut 0864551bde feat(clone-app): enhance HTTP request handling and update test cases for Play Store scraping 2026-06-21 20:12:31 +03:00
fatih.bulut b34632ef3b feat(clone-app): download APKs via apkeep instead of APKCombo scraping
Replace the hand-rolled two-step APKCombo curl/grep flow with apkeep
(default source apk-pure): no auth, no JavaScript, handles XAPK split
bundling and retries itself, and the per-mirror HTML parsing is no longer
ours to maintain. The script still prints a stable app.apk/app.xapk path.

- download-apk.sh: invoke apkeep, rename artifact to app.<ext>, clear error
  when the binary is missing; CLONE_APP_APKEEP (test stub) and
  CLONE_APP_APKEEP_SOURCE (mirror override) env hooks
- test-download-apk.sh: rewritten against an apkeep stub (xapk/apk/fail/
  missing-binary cases)
- SKILL.md Phase 1: prose updated for apkeep install + source override

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 19:19:54 +03:00
masa2146 adf93bacd1
Merge pull request #1 from masa2146/feat/clone-app-re-subagent
Feat/clone app re subagent
2026-06-21 17:37:30 +03:00
fatih.bulut 5adfa2a1ae docs(clone-app): tie Phase 2 fallback guard to probe RC==0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 17:29:52 +03:00
fatih.bulut c8e5bb08a4 test(clone-app): register re-digest-contract in smoke structure check 2026-06-21 17:24:03 +03:00
fatih.bulut 567b512e32 feat(clone-app): run RE via isolated subagent with script fallback + payloads 2026-06-21 17:19:29 +03:00
fatih.bulut b6eca91d1d test(clone-app): add RE digest contract, fixtures, structural test 2026-06-21 17:12:58 +03:00
fatih.bulut 73b3b3d8c5 docs(clone-app): implementation plan for RE-via-subagent + payloads
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 14:06:00 +03:00