Skip to content

MM-001 normalize noisy Android layout output - #2

Draft
himattm wants to merge 1 commit into
codex/lean-minimap-navigation-graphfrom
agent/mm-001-normalize-layout-output
Draft

MM-001 normalize noisy Android layout output#2
himattm wants to merge 1 commit into
codex/lean-minimap-navigation-graphfrom
agent/mm-001-normalize-layout-output

Conversation

@himattm

@himattm himattm commented Jul 17, 2026

Copy link
Copy Markdown
Owner

What changed

Normalize every successful Android CLI layout response into a JSON array of element objects. The parser now handles clean arrays, legacy root objects, recursively JSON-encoded output, and update notices before or after the payload. Notices are returned separately as android_cli_notices.

Why

Android CLI sometimes returned a JSON string containing an encoded layout followed by upgrade text. Minimap passed that representation through, forcing callers to parse inconsistent types.

Impact

Consumers can always treat layout as an array and can inspect non-layout CLI notices without contaminating selector input.

Validation

  • Regression covering an encoded array followed by an Android CLI update notice
  • Clean array and legacy object parser coverage
  • cargo test --workspace
  • cargo clippy --all-targets -- -D warnings
  • cargo fmt --all -- --check
  • cargo build -p minimap-cli --bin minimap

Stack

Base: codex/lean-minimap-navigation-graph

Reproduction: android layout emits a JSON-encoded element array followed by an update notice; minimap layout previously returned the combined stdout as a string.

Normalize clean, legacy-root, and encoded layout values to an object array, report Android CLI notices separately, and apply the parser to selector taps and cached layouts.

Verified with the exact CLI contract regression, cargo test --workspace, cargo clippy --all-targets -- -D warnings, cargo fmt --check, and the minimap-cli binary build.
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