Skip to content

Build Review Tutor learning companion #59

Description

@ElbertePlinio

Goal

Build an open-source, local-first learning companion for reviewing pull requests, Git diffs, and code without interrupting the main coding-agent session.

Product contract

  • Browser stays open while the user reviews code and asks questions.
  • Pi is the first honest harness connector; other harnesses appear only after working connectors exist.
  • The user chooses the harness, model, explanation language, and up to three comparison programming languages.
  • Code clicks and selections open a concise learning dialog with plain meaning, local context, closest language matches, notes, review-later, and an optional short quiz.
  • Questions run in a separate tutor process and never enter the main Pi conversation.
  • Questions, answers, notes, and quizzes remain on the webpage and in local storage outside source repositories.
  • GitHub stays the source of truth. The tool never approves, comments on, or edits a pull request.

Acceptance criteria

  • Load a GitHub pull request at an immutable head, a local working-tree or staged diff, a commit or range, and arbitrary code.
  • Render a responsive unified diff with files, line numbers, additions, and deletions.
  • Connect a local browser session to the Pi extension without exposing provider credentials.
  • List available Pi models and run questions in an isolated read-only child process.
  • Stream question status and answer text into the open learning dialog.
  • Support one explanation language and up to three user-selected comparison languages through dropdown controls.
  • Match the canonical Pickforge design system with accessible semantics, keyboard behavior, focus, contrast, and responsive layouts.
  • Show an immediate accessible loading state after Ask and prevent duplicate submission while pending.
  • Persist a learning log with source identity, code context, explanation, notes, review-later state, and quiz outcome.
  • Offer an optional short quiz based on reviewed code with no scores, streaks, timers, or automatic prompts.
  • Export a self-contained, network-free HTML learning log.
  • Pass headless server, protocol, persistence, child-process, input, export, accessibility, desktop, and mobile validation.

Non-goals

  • No daemon, cloud account, telemetry, provider key in the browser, or remote binding.
  • No connectors other than Pi in v1.
  • No side-by-side diff, code edits, PR comments, review verdicts, or automatic approval.
  • No write, shell, or network tools in the tutor child.
  • No global installation, npm publication, new public repository, or release in the prototype phase.

PR plan

  • PR 1: secure local core and Pi connector — #60
    • Protocol, input snapshots, isolated child process, durable log, export, and headless tests.
    • Merged as b88a04c after local, CI, independent-review, and real Pi/GitHub manual-smoke validation.
    • Depends on: none.
  • PR 2: guided review web app — #61
    • Diff viewer, setup, learning dialog, live answers, log, quiz, responsive and accessible states.
    • Treat the PR 1 page as temporary: apply Pickforge design standards, language dropdowns, and an accessible Ask loading state.
    • Depends on: merged PR 1.
  • PR 3: package and installation proof
    • Pi package manifest, portable skill, docs, clean install, and final end-to-end review.
    • Depends on: PR 2.

Traceability

Acceptance area Slice Validation Status
Inputs and immutable source identity PR 1 input and command-injection tests validated locally and in CI; real GitHub PR smoke passed
Isolated model execution and live protocol PR 1 fake-child and Pi NDJSON contract tests validated locally and in CI; real Pi/provider smoke passed
Durable log and standalone export PR 1 corruption, escaping, and offline export tests validated locally and in CI
Diff and learning experience PR 2 browser tests, visual proof, real Pi/provider human smoke validated locally and in CI; PR #61 merged
Notes, review-later, and quiz PR 2 persistence and interaction tests validated locally and in CI; PR #61 merged
Package and skill PR 3 clean Pi install and real PR smoke test pending

Agent plan

Current status: PR #60 and PR #61 are merged. PR 3 remains package and installation proof.

Next action: plan PR 3 clean-package installation and final end-to-end proof. Structure (#62), additional harness connectors (#63), and streaming/multi-tab hardening (#64) remain separate follow-ups.

Human gate: PR 3 must stop at ready for human review unless Elberte explicitly authorizes its merge.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions