the signals and their derived score are provisional and subject to change.
validate manually before sharing.
d9764e2b7c18230fb3673439229dd7b122fed835c6a2e3113b8c1 week ago🤖 Generated with [Claude Code](https://claude.com/claude-code)83df537d17891 week ago🤖 Generated with [Claude Code](https://claude.com/claude-code)51089beb22991 week ago🤖 Generated with [Claude Code](https://claude.com/claude-code)fdf5f76c0e343 weeks ago🤖 Generated with [Claude Code](https://claude.com/claude-code)28971493dcc23 weeks ago🤖 Generated with [Claude Code](https://claude.com/claude-code)794ac97f49461 month ago🤖 Generated with [Claude Code](https://claude.com/claude-code)0f01106ad6e91 month ago🤖 Generated with [Claude Code](https://claude.com/claude-code)9ba1608639a41 month agohttps://claude.ai/code/session_01VVasxz6wBFvSHxcRukAis320d67cb3e1e91 month ago🤖 Generated with [Claude Code](https://claude.com/claude-code)a2db43d2356c3 months ago🤖 Generated with [Claude Code](https://claude.com/claude-code)e4d3981469494 months agoCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>f54eab2725a34 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>5e990b3991fd4 months agoCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>d4069aeae5d04 months ago🤖 Generated with [Claude Code](https://claude.com/claude-code)1f83087aa5e54 months agoCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>68138fffdb394 months agoCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>213972badc4d5 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>41e6e15229da5 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>5fa5a71ba2ed5 months agoCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>26250c0b80485 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>bf894fd343d05 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>e64155ed63f95 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>3e7d63dab9cb5 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>15ea7027df8f6 months ago🤖 Generated with [Claude Code](https://claude.com/claude-code)6c4e946e27956 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>1cf2239742726 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>867fb7cbe2d76 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>e28918b24da06 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>c0ee096841526 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>e8645ed92ebf6 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>2c5a47f9d7a16 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>40e4c96906086 months ago🤖 Generated with [Claude Code](https://claude.com/claude-code)e6c6e72a249a6 months agoCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>c4f11015f1c36 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>7a28f90dad267 months ago🤖 Generated with [Claude Code](https://claude.com/claude-code)c40e92e4d1647 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>18b36efbae247 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>a350492571c48 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>a57c62f0b4f08 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>5e95d9a36fe98 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>35988ada55918 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>000289e429d08 months agoCo-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>3cb60aa231bc8 months ago🤖 Generated with [Claude Code](https://claude.com/claude-code)c1fad16e10c38 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>7717ae2683868 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>fdcd71e94df78 months agoThe icon conversion python script was generated by Copilot as I am not a47aa0dda76898 months agoCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>0bc6747483a48 months agoCo-authored-by: Claude Opus 4.6 <noreply@anthropic.com>98e67896265c8 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>c3b9bc38b9098 months agoCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>ddbe49f5363d8 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>216dbc8ee3f38 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>838993259d139 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>7a792a5384d19 months agoCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>4eef2b57937c9 months agoCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>973d372521d010 months agoCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com># CrossPoint Reader agent guide
CrossPoint Reader is open-source e-reader firmware for Xteink and other FreeInk-supported devices. Its mission is a lightweight, high-performance reading experience focused on EPUB rendering. The X3/X4's ESP32-C3 remains the resource baseline: roughly 380 KB usable RAM, no PSRAM, and a single framebuffer sized for the selected panel. Other board profiles have different CPUs, display sizes, input, and memory capabilities; check the selected profile before assuming them.
## F---
name: control-flow-clarity
description: C/C++ state modeling and discrete-value dispatch. Use when introducing state/mode representations or refactoring branches on one discriminant.
---
# Control-Flow Clarity
The goal: a reviewer verifies correctness by reading, not by tracing. Branching
that mirrors the problem's shape is self-evident; branching that encodes it in
ad-hoc ints and nesting forces the reader to reconstruct intent.
## Core moves
- **Use `enum class` for multiple states/modes instead o---
name: heap-discipline
description: ESP32-C3 allocation discipline. Use when changing allocation size/failure handling, buffer or cache lifetime, or hot-path container growth.
---
# Heap Discipline
Use the selected board's [resource budget](../../rules/hardware-resources.md)
and the [checked-allocation contract](../../rules/coding-standards.md#heap-buffer-allocation).
Budget peak coexistence and largest required blocks, not just final free bytes.
## Allocation decision procedure
Choose the first opti---
name: review-architecture
description: "Read-only architecture audit of the current logical diff at firmware handoff: assess its long-term shape."
---
# Architecture review
Assume the change can work. Review its shape, not correctness, style, security, or performance.
Inspect code and recorded checks only: no file writes, tests, builds, or new
diagnostics. Request needed checks from the main agent.
## Process
1. **Pin intent.** State the human requirement in one sentence from the conversation, issue---
name: review-correctness
description: Read-only firmware-handoff review for regressions introduced or made reachable by the current diff; require concrete failure paths.
---
# Correctness review
Review only the pinned logical change; avoid a general subsystem audit.
Inspect code and recorded checks only: no file writes, tests, builds, or new
diagnostics. Request needed checks from the main agent.
For every changed behavior:
1. Trace inputs, state transitions, ownership, cleanup, and error paths thro---
name: refactor-for-review
description: Keep structural changes reviewable. Use when restructuring code, extracting helpers, or separating unrelated cleanup.
---
# Refactor for Review
This is a multi-contributor, AI-assisted codebase, and the dominant failure mode
is the sprawl diff: a one-line intent that touches thirty files. The goal is a
change a reviewer can verify in one sitting. Cleaner structure that makes the
next change easier is the win, not lines added.
## One concern per change
- A commi---
name: hal-and-abstractions
description: HAL and UI ownership contracts. Use when changing hardware/storage access, input or activity ownership, rendering contracts, or SDK boundaries.
---
# HAL and Abstractions
The [HAL rule](../../rules/architecture-hal.md#hardware-abstraction-layer-hal)
owns hardware/storage access, synchronization, file lifetime, and singleton
contracts. Consult the section for the boundary being changed.
## Route the change
1. Trace the existing owner and callers. Reuse exposed ---
name: scope-discipline
description: Dedicated e-reader feature scope. Use when adding features, activities, libraries, settings, dependencies, or expanding the firmware surface.
---
# Scope Discipline
The mission: do one thing exceptionally well, focused reading on constrained
hardware. `SCOPE.md` is the source of truth for what is in and out. Read it
before adding surface. This is the gate to run before writing a new feature.
## The gate
Before adding a feature, activity, lib, setting, or dependenc---
name: review-i18n-docs
description: Read-only firmware-handoff review of tr(), English source strings, generated-file workflow, and user documentation for visible changes.
---
# English strings and user documentation review
Review the pinned firmware change. Inspect code and recorded checks only:
no file writes, tests, builds, or new diagnostics. Request needed checks from
the main agent.
Check:
1. Every new user-facing string uses `tr()` and has an English source entry. Other languages may fall bac---
name: firmware-handoff
description: Final checks and human handoff for completed firmware/build changes. Use after implementation and self-review; excludes read-only audits and reviewer tasks.
---
# Firmware handoff
Run after implementation and main-agent self-review, before calling a firmware
change ready or making an approved local commit. The main agent owns the result;
reviewer output is evidence, not authority. This workflow has at most two review
rounds per logical change, even when slot limits ---
name: review-embedded
description: "Read-only firmware-handoff review of ESP32 resources and hardware: RAM, fragmentation, stack, flash, timing, HAL, lifecycle, input, display, storage, and orientation."
---
# Embedded constraints review
Review the pinned logical change. Consult relevant sections of hardware, HAL,
coding, or lifecycle rules for the contracts it changes; use project skills only
when their decision procedure is needed. Inspect code and recorded checks only:
no file writes, tests, buildsAGENTS.md.gitignoreclaude-code.claude/*