IngenuityPrint · test-corpus growth

A small menu-tree is a generative engine for the test corpus.

We mapped the app into a tree where every node is a screen and every edge is an action. That map is not just documentation — each screen exposes the buttons no test has pressed yet, and each of those is a concrete candidate new test case. We then live-proved the growth on the real device. The claim of this report: from this small tree, the corpus can grow systematically.

22screens mapped today
60untested affordances
= candidate new tests
1 → provenlive-authored growth
(tree 22→23)

1The model: a node is a screen, an edge is an action

The whole approach rests on one mapping. A node is a real device screen. An edge is an action — pressing a button — that lands you on another screen. So an edge, too, resolves to a screen. Here is one real transition, captured live on the device:

Exercise list ExerciseMainListActivity
press “Circuit training”
the edge = this action
Workout input TrackerSportManualInputActivity

2Why the map is a growth engine

For each mapped screen, the capture records every clickable on it. Subtract the buttons some test has already pressed, and what remains are untested affordances — the frontier. Each is a button that, when pressed, leads to a (currently unmapped) screen: a concrete candidate new test case. Across the 22 mapped screens, 14 are pure frontier (nothing has been actuated from them yet), exposing 60 untested affordances:

Frontier screenexample untested buttonscandidate tests
Exercise ListAdd workouts, Bike, Bike indoor, Circuit training …+14
BloodPressure About blood pressure, Antioxidant index, Blood glucose, Body composition …+11
Breathe Before you get started, Custom, Equal, Long exhale …+6
MoodCheckIn Awesome!, Bad, Fine, Good …+5
BloodPressureInputDiastolic (mmHg), None, Notes, Systolic (mmHg)+4
(unresolved)About your heart health score, Track your heart health, Vascular load, Why it matters+4
WeightInputBody fat, Notes, Skeletal muscle+3
FoodDetailAdd calories, Add food, Dinner+3

Each candidate is a ready-to-author natural-language test, e.g. “select Circuit training” — the selector is deterministic, read-only, and needs no AI.

3Proof: the growth was live-authored end-to-end

The frontier is only useful if a candidate can actually become a durable test. We took one — “Circuit training” on the Exercise list — and drove it live on the device:

  1. Navigated by natural language to the Exercise list (launcher → Samsung Health → Quick add → Workout).
  2. Issued the untested affordance — “select Circuit training” — and the vision model confirmed arrival on a brand-new screen (the workout input above).
  3. Finalized it: the step passed the projectability gate, was written as a durable test, and re-folded into the tree.
The tree grew from 22 to 23 screens with a new edge Exercise list —[press “Circuit training”]→ Workout input. Expansion is demonstrated, not hypothetical — and the new screen exposes its own frontier, so the process repeats.

4The explorable map

A node is a screen — click it for the device screenshot. An edge is an action — click it to see the action and the screen it lands on. Toggle After to reveal the frontier (+N per screen) and the one proven growth (green).

Home DashboardHomeDashboardActivityNewMeQuickAddNewMeQuickAddActivityExercise ListExerciseMainListActivi+14SportManualInputTrackerSportManualInpuNEWDa DaMainActivity+1ProgramPFIProgramPFIActivityStress StressMainActivity+2Breathe BreatheMainActivity+6BodyComposition BodyCompositionMainAct+1WeightInputTrackerWeightInputActi+3Water TrackerWaterMainActivi+1MoodCheckIn MoodCheckInMainActivit+5FoodDetailTrackerFoodDetailActiv+3BloodGlucoseNewInpuTrackerBloodGlucoseNewSleepEditClockFaceSleepEditClockFaceActiMedicationScheduleLMedicationScheduleList+3BloodPressureInputTrackerBloodPressureIn+4(unresolved)?+4HeartHealth HeartHealthMainActivitHeartRateOnboardingHeartRateOnboardingActSpo2OnboardingSpo2OnboardingActivityBloodPressure TrackerBloodPressureMa+11VascularLoad TrackerVascularLoadMai+2

Select a node (a screen) or an edge (an action).

5The claim

From a tree of just 22 screens, the corpus is not fixed — it is a frontier we can walk. 60 candidate tests are already identified across 14 screens, one is live-proven, and every screen we add exposes a new frontier. Growth proceeds frontier → author → live-prove → re-fold → new frontier, bounded only by where the tree can still extend. A small, correct map is the seed of a large, self-growing test corpus.

Source of truth: committed menu-tree fold of 20 capture-logs + the live spike slice. Node identity is re-derived at fold time (screen-identity v2); the frontier selector is deterministic (no AI). Screenshots are real device captures. Generated from blackboard/project + fixtures.