Skip to content

chore: journeys as the qa contract for prs #742

Description

@ovitrif

Context

journeys/ holds 37 agent-evaluated XML walkthroughs whose identifier vocabulary is shared with bitkit-android. The PR workflow does not point at them: .agents/commands/pr.md generates #### Manual Tests as prose at PR creation, the PR template has no journeys heading, and a PR that changes a flow can merge without touching the journey that describes it. Agent-driven reviews then re-derive what to test from that prose on every push, and the prose is the only record that a flow was ever exercised.

Proposed change

  • .github/pull_request_template.md and .agents/commands/pr.md: ### QA Notes opens with #### Journeys, one repo path per line for every journey the PR adds or updates, or N/A — no user-visible behaviour change. #### Manual Tests follows and keeps only what a journey cannot express (hardware, push notifications, a companion app), each item ending with the reason. The pr command derives the journeys list from the diff (journeys/**/*.xml added or changed) and writes no prose test for a flow a listed journey covers.
  • AGENTS.md, Journeys section: a PR that changes user-visible behaviour adds or updates the journeys that prove it, and a journey whose route the PR changes is updated in the same PR.
  • journeys/index.json, committed: per journey its file, <journey name>, the identifiers its actions name, the source files that declare them (accessibilityIdentifier("…")), and the screens its actions name. Generated by scripts/journeys_index.py (python3, standard library only) with a --check mode; the pr command regenerates it, and a CI job runs --check.
  • The same check fails when a journey names an identifier that no source file declares.

Acceptance

  • Every PR opened after this lands carries #### Journeys under ### QA Notes with repo paths or the N/A line, and every #### Manual Tests item states why a journey cannot express it.
  • journeys/index.json matches the tree on every green head: CI fails on a stale index or on a journey that names an unknown identifier.
  • AGENTS.md states the rule and the pr command applies it without extra instructions.
  • Android mirrors this in chore: journeys as the qa contract for prs bitkit-android#1249 so the journeys stay diffable across platforms.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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