Skip to content

chore: use journeys as prs qa contract - #1250

Open
ovitrif wants to merge 9 commits into
masterfrom
chore/1249-journeys-qa-contract
Open

ovitrif wants to merge 9 commits into
masterfrom
chore/1249-journeys-qa-contract

Conversation

@ovitrif

@ovitrif ovitrif commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Closes #1249

Counterpart: synonymdev/bitkit-ios#743

Description

  • Makes #### Journeys the first QA Notes section so that a PR with a user-visible change lists the journeys that prove it, by bare file name with new or updated, and reviewers drive them on a device instead of reading prose.
  • Limits #### Manual Tests to steps that need a capability the journey environment lacks, and adds a ## Capabilities table to journeys/README.md as the authority for what it provides, so a step is manual by evidence, not by category.
  • Shapes #### Automated Checks as a flat list with added, updated, removed, and ran keywords so the same prefix is never repeated.
  • Applies the rules in /pr and states them in AGENTS.md, and lists the android CLI with the android-cli skill under Prerequisites because it is how an agent drives journeys.

Out of Scope

  • journeys/: drift tooling, an identifier index, or a CI check; a journey that fails at review is the drift signal.
  • A shared journeys skill giving iOS and Android one driving procedure; each platform names its own driver.
  • Past manual tests from merged PRs: kept as a backlog in chore: keep past manual tests as a journeys backlog #1307.

Design

N/A — no UI changes.

Preview

N/A — no user-visible changes.

QA Notes

Journeys

N/A — no user-visible behaviour change.

Manual Tests

N/A

Automated Checks

  • ran a per-file diff of the added lines against the counterpart PR: only platform names, test-file types, the driver, and Capabilities rows differ
  • ran a diff of the ### QA Notes template section against the counterpart: identical apart from the example test-file name
  • ran the review skill's parser tests against the new #### Journeys and #### Automated Checks formats: bare names resolve on the PR head, legacy full paths still parse
  • ran every Capabilities row back to the suite README or preconditions section it cites

@ovitrif ovitrif changed the title chore: make journeys the qa contract for prs chore: use journeys as prs qa contract Sep 11, 2026
@ovitrif
ovitrif marked this pull request as ready for review September 16, 2026 19:21
@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Regtest APK

Built from d3ef661 (run).

Download bitkit-dev-debug universal APK (expires in 30 days).

@greptile-apps

greptile-apps Bot commented Sep 16, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 5/5

The PR appears safe to merge, with a non-blocking issue where journey discovery can misclassify documentation files as executable journeys.

Findings

  1. P2 Documentation Becomes A Journey

Summary

This PR makes device-driven journeys the primary QA contract for user-visible changes and aligns the PR command, template, contributor guidance, and journey documentation.

  • Adds Journeys as the first QA Notes section.
  • Restricts manual tests to capabilities absent from the journey environment.
  • Standardizes automated-check entries around added, updated, removed, and ran.
  • Documents the Android tooling prerequisites and available journey capabilities.

Reviews (2) · Last reviewed commit: "docs: list journey capabilities in readm..."

Comment thread .agents/commands/pr.md Outdated
@ovitrif
ovitrif marked this pull request as draft September 17, 2026 12:33
@ovitrif
ovitrif force-pushed the chore/1249-journeys-qa-contract branch from 3fb2d97 to 0ffee1a Compare September 17, 2026 14:00
@ovitrif
ovitrif marked this pull request as ready for review September 17, 2026 14:06
Comment thread .agents/commands/pr.md Outdated
@ovitrif ovitrif self-assigned this Sep 17, 2026
@jvsena42

Copy link
Copy Markdown
Member

the Journeys readme is causing conflicts on every Pr merge, can we remove it or use something similar to the changeling strategy?

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

One MEDIUM on the QA contract rules (inline). It is docs-only, so it doesn't block. The same gap is on the iOS twin, synonymdev/bitkit-ios#743.

Checked and clean:

  • CLAUDE.md→AGENTS.md symlink: the old "not a QA gate" wording is gone everywhere. QA gate and developer-assistance grep clean.
  • The Suites table removal leaves no dangling #suites references.
  • Every Capabilities link target exists at head.
  • pr.md Step 3 discovery and the \.xml$ filter are in place.
  • The pr.md structure and style target match the template headings and order.
  • The library-repo example's Journeys omission is intentional.

The missing locale/font-scale and run-as rows in Capabilities looked like gaps, but the shell-command rule at journeys/README.md:39 covers them, so I'm not raising them.

Comment thread .agents/commands/pr.md
- A PR with a user-visible change adds or updates the journey that proves it, and any journey whose route the diff changes; list them all. Reviewers drive the listed journeys on a device.
- `N/A — no user-visible behaviour change.` is the only empty value for `#### Journeys`.
- Leave every checkbox under `#### Journeys` and `#### Manual Tests` unchecked; the reviewer ticks a line after driving it on the PR head.
- When the diff changes user-visible behaviour and no journey covers it, stop and report the flows that need a journey.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A user-visible change that no journey can drive has no valid #### Journeys value.

Line 153 tells /pr to stop when a user-visible change has no covering journey. The line above it makes N/A — no user-visible behaviour change. the only empty value. Line 203's style target lists a BLE pairing step under Manual Tests, and journeys/README.md says BLE/USB are not simulated. So a PR whose only user-visible change is in BLE pairing or the USB permission flow either halts here or gets the false N/A — no user-visible behaviour change. next to a manual test. The template's #### Journeys comment at .github/pull_request_template.md:25 has the same gap.

Fix: allow an explicit value for this case, e.g. N/A — not drivable; see Manual Tests., in both pr.md and the template. Mirror it on the iOS twin.

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.

chore: use journeys as prs qa contract

2 participants