Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Polish gamified Agency Mini App concepts - #231

#231
Merged
MagMueller merged 1 commit into
mainbrowser-use/bux:mainfrom
codex/gamified-miniapps-and-resume-queuebrowser-use/bux:codex/gamified-miniapps-and-resume-queueCopy head branch name to clipboard
May 18, 2026
Merged

Polish gamified Agency Mini App concepts#231
MagMueller merged 1 commit into
mainbrowser-use/bux:mainfrom
codex/gamified-miniapps-and-resume-queuebrowser-use/bux:codex/gamified-miniapps-and-resume-queueCopy head branch name to clipboard

Conversation

@MagMueller

@MagMueller MagMueller commented May 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Redesign the 10 Agency Mini App concept routes with more distinct gamified mechanics, including quest nodes, boss deck swipe cues, streak coach, skill tree unlocks, momentum rings, loot picker, one-tap win, season pass, and mission card UI.
  • Add local combo/streak/reward state and real drag-to-start/skip behavior for the boss deck concept.
  • Keep mini-app concept routing to the 10 shipped routes and recover stale in-flight Telegram lane jobs as continuation prompts after bot restarts.

Validation

  • node --check agent/mini_app_static/concepts.js
  • ruff check agent/telegram_bot.py agent/mini_app.py agent/test_mini_app.py
  • python -m unittest agent/test_telegram_bot.py agent/test_mini_app.py
  • Browser smoke through the Mini App tunnel across /mini-app-1 through /mini-app-10

Summary by cubic

Polished all 10 Agency Mini App concept screens with distinct gamified mechanics, real swipe interactions, and score/state tracking to make the demos feel playable. Also recover Telegram lane jobs after restarts so users don’t lose in-flight work.

  • New Features

    • Distinct mechanics per route: quest ladder with boss node, boss meter + swipe cues, streak calendar coach, skill-tree unlocks, momentum rings, mission control stats, loot picker, one-tap win, season pass, and mission card criteria.
    • Local state for combo, streak, and lastReward; updated stats (level/xp, combo), boss HP, and a compact core-loop panel.
    • Real drag-to-start/skip on the Boss Deck with haptics, toasts, and sync calls; decisions update points and combo.
  • Bug Fixes

    • Telegram lanes: requeue stale in_flight jobs on startup with a continuation system prompt; avoid repeating external actions and log requeued count.
    • Routing tightened to exactly /mini-app-1/mini-app-10; /mini-app-11 returns 404 with tests added.

Written for commit f9434a5. Summary will update on new commits. Review in cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 5 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="agent/mini_app_static/concepts.js">

<violation number="1" location="agent/mini_app_static/concepts.js:446">
P2: `renderGameLoop` is added but never rendered, so the new loop/reward/gesture concept UI is dead code and does not appear in the app.</violation>
</file>

<file name="agent/telegram_bot.py">

<violation number="1" location="agent/telegram_bot.py:1510">
P2: `_interrupted_turn_prompt` assumes `job["prompt"]` is a string; non-string persisted values can crash startup recovery.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

${renderGameStats(concept)}
${renderPreviewStrip(ordered, card)}
${showGlobalStats ? renderGameStats(concept) : ""}
${showPreview ? renderPreviewStrip(ordered, card) : ""}

@cubic-dev-ai cubic-dev-ai Bot May 18, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: renderGameLoop is added but never rendered, so the new loop/reward/gesture concept UI is dead code and does not appear in the app.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At agent/mini_app_static/concepts.js, line 446:

<comment>`renderGameLoop` is added but never rendered, so the new loop/reward/gesture concept UI is dead code and does not appear in the app.</comment>

<file context>
@@ -427,23 +433,44 @@ function renderConcept(concept) {
-      ${renderGameStats(concept)}
-      ${renderPreviewStrip(ordered, card)}
+      ${showGlobalStats ? renderGameStats(concept) : ""}
+      ${showPreview ? renderPreviewStrip(ordered, card) : ""}
       ${renderer(concept, ordered, card)}
     </section>
</file context>
Suggested change
${showPreview ? renderPreviewStrip(ordered, card) : ""}
${showPreview ? renderPreviewStrip(ordered, card) : ""}
${renderGameLoop(concept, card)}
Fix with Cubic

Comment thread agent/telegram_bot.py


def _interrupted_turn_prompt(job: dict) -> str:
original = (job.get("prompt") or "").strip()

@cubic-dev-ai cubic-dev-ai Bot May 18, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: _interrupted_turn_prompt assumes job["prompt"] is a string; non-string persisted values can crash startup recovery.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At agent/telegram_bot.py, line 1510:

<comment>`_interrupted_turn_prompt` assumes `job["prompt"]` is a string; non-string persisted values can crash startup recovery.</comment>

<file context>
@@ -1505,21 +1506,44 @@ def _save_lanes_to_disk_locked() -> None:
 
 
+def _interrupted_turn_prompt(job: dict) -> str:
+    original = (job.get("prompt") or "").strip()
+    if len(original) > 2000:
+        original = original[:2000] + "\n...[truncated]"
</file context>
Suggested change
original = (job.get("prompt") or "").strip()
original = str(job.get("prompt") or "").strip()
Fix with Cubic

@MagMueller
MagMueller merged commit ae4d443 into main May 18, 2026
7 checks passed
@MagMueller
MagMueller deleted the codex/gamified-miniapps-and-resume-queue branch May 18, 2026 19:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Morty Proxy This is a proxified and sanitized view of the page, visit original site.