UX Variations: Orient To Product Portfolio

Review gate for five proposed UX progression branches under uf-orient-portfolio. Approval will write the canonical UX variation plan and interview log, then grow UX variation children in the AFPS Tracker flow tree.

Skill: ux-variations Status: review Date: 2026-07-02 Product path: research/afps-tracker Visual tier: prototype

Table of Contents

Progress Handoff

Progress Handoff - ux-variations/uf-orient-portfolio

Completed: 5 / 5.

Durable cursor: checked design/afps-tracker/_working/ux-variations-uf-orient-portfolio-brief.md and design/afps-tracker/ux-variations-uf-orient-portfolio/.

Current phase complete: assemble preparation is complete.

Next phase: whole-set alignment review and approval.

Why repeat this command: the repeated command is intentional; $ux-variations cold-starts, reads the durable cursor, and advances the pending approval/confirmation phase.

Decision Surface

The selected parent branch is uf-orient-portfolio: open AFPS Tracker, scan the repo-local portfolio, see active and parallel product paths, and select a path for deeper inspection.

Allowed variation dimensions: navigation, grouping, density, warning prominence, first-run guidance, handoff preview, entry emphasis, scan depth, selection model, and visual hierarchy.

Locked constraints: technical stack, read-first source fidelity, approved branch boundary, trust-envelope semantics, warning visibility, route suppression for unsafe states, and no write-back requirement for first value.

Quick-Scan Overview

Fast portfolio selection

quick-scan-overview

Trust-First Source Health

Source trust before path choice

trust-first-source-health

Diagnostics-First Recovery

Recovery triage before selection

diagnostics-first-recovery

Portfolio-Map Grouping

Spatial branch-state topology

portfolio-map-grouping

Command/Resume-First Orientation

Provisional safe next-work posture

command-resume-first-orientation

Variation Comparison

VariationFirst Object Of AttentionBest FitMain TradeoffUI Review Should Validate First
Quick-Scan OverviewCompact portfolio state and active-first rowsReturning operator in a mostly clean repoFastest first value; may underweight trust anxietyCan the operator pick a path quickly without missing warnings?
Trust-First Source HealthSource health, parser confidence, source confidence, unresolved refsOperator returning after churn, warnings, or long context gapHighest confidence; slower when clean state is obviousDo trust fields clarify rather than intimidate?
Diagnostics-First RecoveryBlocked/warning/unresolved/usable classificationRepo with stale, malformed, missing, contradictory, or unreadable stateStrongest safety posture; can over-index on exceptionsCan users still orient when no severe diagnostics exist?
Portfolio-Map GroupingSpatial branch-state topologyMultiple active, parallel, inactive, promoted, or boundary pathsBest comprehension; heavier for single-path portfoliosDoes the map explain branch status without implying editability?
Command/Resume-First OrientationProvisional safe next-work postureOperator or agent resuming from handoff or context lossStrong continuity; risks leaking handoff concerns into orientationDoes it suppress copyable command behavior until verification?

Proposed Canonical Plan

UX Variations: Orient To Product Portfolio

Scope

This proposed plan expands the approved user-flow branch `uf-orient-portfolio` into five UX progression branches for AFPS Tracker. The parent flow remains bounded to opening the tracker, scanning the repo-local portfolio, understanding active and parallel paths, and selecting a path for deeper inspection.

Fixed Logical Substrate

All five branches preserve the confirmed AFPS Tracker domain model: `RepositoryContext`, `PortfolioSnapshot`, `PortfolioPathRef`, `ProductPath`, `DiagnosticIssue`, trust envelopes, parser/source confidence, warnings, diagnostic refs, route suppression, and handoff eligibility. The variations change presentation and progression, not source truth.

Approved Variation Set

  1. Quick-Scan Overview: fastest credible first read and active-first path selection.
  2. Trust-First Source Health: source health and confidence before path commitment.
  3. Diagnostics-First Recovery: safety-forward recovery triage before selection.
  4. Portfolio-Map Grouping: spatial branch-state map for portfolio comprehension.
  5. Command/Resume-First Orientation: provisional safe next-work posture before deeper inspection.

Experiment Plan

Default progression-mode validation remains proposal-level until a UI branch is approved. Route the strongest approved UX branch into `$ui-interview [specific-ux-variation]`, then review the concrete UI proposal before prototype build planning.

Cheapest useful validation: solo evaluator walkthrough of the five written specs against first-value clarity, source-trust visibility, branch-selection speed, recovery safety, implementation cost, and branch-boundary discipline.

Lock-In Checklist

Recommended first `$ui-interview` branch: `quick-scan-overview`.

Rationale: it is the lowest-complexity baseline and tests the core first-value promise directly. The stronger safety-heavy branches remain available if review finds source-trust or recovery anxiety should dominate the first screen.

Experiment And UAT Handoff

Default progression-mode output does not create route experiments or prototype build instructions yet. Each approved branch should first route to $ui-interview [specific-ux-variation] for concrete UI proposal and approval/rejection.

Branch Routing And Flow-Tree Proposal

Parent user-flow branch: uf-orient-portfolio.

Sibling dependencies: later selected-path verification, source/provenance inspection, diagnostics recovery, handoff/resume, and boundary explanation branches must remain separate routes. These UX variations may link to them but must not absorb them.

Recommended next command after approval: $ui-interview quick-scan-overview.

Proposed Flow-Tree Changes On Approval

branches:
  - id: uf-orient-portfolio
    ux_variations:
      - id: ux-quick-scan-overview
        label: Quick-Scan Overview
        status: approved
        artifacts:
          - design/afps-tracker/ux-variations-uf-orient-portfolio.md
          - design/afps-tracker/ux-variations-uf-orient-portfolio-interview.md
        source_intermediate: design/afps-tracker/ux-variations-uf-orient-portfolio/quick-scan-overview.md
        recommended_next: "$ui-interview quick-scan-overview"
      - id: ux-trust-first-source-health
        label: Trust-First Source Health
        status: approved
        artifacts:
          - design/afps-tracker/ux-variations-uf-orient-portfolio.md
          - design/afps-tracker/ux-variations-uf-orient-portfolio-interview.md
        source_intermediate: design/afps-tracker/ux-variations-uf-orient-portfolio/trust-first-source-health.md
        recommended_next: "$ui-interview trust-first-source-health"
      - id: ux-diagnostics-first-recovery
        label: Diagnostics-First Recovery
        status: approved
        artifacts:
          - design/afps-tracker/ux-variations-uf-orient-portfolio.md
          - design/afps-tracker/ux-variations-uf-orient-portfolio-interview.md
        source_intermediate: design/afps-tracker/ux-variations-uf-orient-portfolio/diagnostics-first-recovery.md
        recommended_next: "$ui-interview diagnostics-first-recovery"
      - id: ux-portfolio-map-grouping
        label: Portfolio-Map Grouping
        status: approved
        artifacts:
          - design/afps-tracker/ux-variations-uf-orient-portfolio.md
          - design/afps-tracker/ux-variations-uf-orient-portfolio-interview.md
        source_intermediate: design/afps-tracker/ux-variations-uf-orient-portfolio/portfolio-map-grouping.md
        recommended_next: "$ui-interview portfolio-map-grouping"
      - id: ux-command-resume-first-orientation
        label: Command/Resume-First Orientation
        status: approved
        artifacts:
          - design/afps-tracker/ux-variations-uf-orient-portfolio.md
          - design/afps-tracker/ux-variations-uf-orient-portfolio-interview.md
        source_intermediate: design/afps-tracker/ux-variations-uf-orient-portfolio/command-resume-first-orientation.md
        recommended_next: "$ui-interview command-resume-first-orientation"
decisions:
  - id: decision-ux-variations-uf-orient-portfolio-approval-2026-07-02
    type: alignment-approval
    status: approved
    recorded_at: "2026-07-02"
    source: alignment/ux-variations-uf-orient-portfolio.html
    summary: Approved five UX progression branches for the Orient To Product Portfolio user-flow branch.
    gates:
      - section: UX variation plan
        answer: approve
        target_path: design/afps-tracker/ux-variations-uf-orient-portfolio.md
      - section: Interview log
        answer: approve
        target_path: design/afps-tracker/ux-variations-uf-orient-portfolio-interview.md
      - section: Flow-tree UX branches
        answer: approve
        target_path: design/afps-tracker/flow-tree-afps-tracker.yaml

Proposed Interview Log

UX Variations Interview Log: Orient To Product Portfolio

Round 1

Interrogation page: `interrogation/ux-variations-r1-uf-orient-portfolio.html`.

Captured sidecar: `research/afps-tracker/_working/interrogation-ux-variations-r1.yaml`.

Confirmed assumptions: persona, parent flow, primary job, activation moment, variable dimensions, and fixed constraints were confirmed.

Key decisions:

Compiled Interrogation YAML

# Invoke with: $ux-variations uf-orient-portfolio
command: "$ux-variations uf-orient-portfolio"
interrogation_page: "interrogation/ux-variations-r1-uf-orient-portfolio.html"
round: 1
round_status: complete
gate_state: continue
agent_routing:
  workflow: interrogation-loop
  parent_skill: ux-variations
  command: "$ux-variations uf-orient-portfolio"
  gate_owner: parent-orchestrator
  gate_type: interrogation-round
  round: 1
  answer_sidecar: "research/afps-tracker/_working/interrogation-ux-variations-r1.yaml"
  next_resolution: parent-resolves-from-yaml-and-filesystem
assumptions:
  - id: "persona"
    source: "[from spec]"
    decision: "confirm"
    correction: ""
  - id: "parent-flow"
    source: "[from artifact]"
    decision: "confirm"
    correction: ""
  - id: "primary-job"
    source: "[from research]"
    decision: "confirm"
    correction: ""
  - id: "activation"
    source: "[from artifact]"
    decision: "confirm"
    correction: ""
  - id: "varying"
    source: "[inferred]"
    decision: "confirm"
    correction: ""
  - id: "constraints"
    source: "[from codebase]"
    decision: "confirm"
    correction: ""
open_answers:
  - id: "variation-axis"
    question: "Which orientation tension should the variants stress-test most?"
    answer: |
      Make this a variant axis and test all approaches: quick-scan overview, trust-first source health, diagnostics-first recovery, portfolio-map grouping, and command/resume-first orientation.
    recommended_answer: |
      Recommended: Make this a variant axis and test all approaches: quick-scan overview, trust-first source health, diagnostics-first recovery, portfolio-map grouping, and command/resume-first orientation.
    agent_recommended_answer: |
      Make this a variant axis and test all approaches: quick-scan overview, trust-first source health, diagnostics-first recovery, portfolio-map grouping, and command/resume-first orientation.
    agent_confidence: "high"
  - id: "fixed-vs-variable"
    question: "What should stay fixed across all orientation variants?"
    answer: |
      Lock only technical stack, read-first source fidelity, approved branch boundary, and trust-envelope semantics. Let navigation, grouping, density, warning prominence, first-run guidance, and handoff preview vary.
    recommended_answer: |
      Recommended: Lock only technical stack, read-first source fidelity, approved branch boundary, and trust-envelope semantics. Let navigation, grouping, density, warning prominence, first-run guidance, and handoff preview vary.
    agent_recommended_answer: |
      Lock only technical stack, read-first source fidelity, approved branch boundary, and trust-envelope semantics. Let navigation, grouping, density, warning prominence, first-run guidance, and handoff preview vary.
    agent_confidence: "medium"
  - id: "unacceptable"
    question: "What would make an orientation variant unacceptable?"
    answer: |
      Reject any variant that hides source warnings, implies unconfirmed provenance, routes inactive/promoted paths as active next work, requires write-back for first value, or makes the operator read raw files before the overview is useful.
    recommended_answer: |
      Recommended: Reject any variant that hides source warnings, implies unconfirmed provenance, routes inactive/promoted paths as active next work, requires write-back for first value, or makes the operator read raw files before the overview is useful.
    agent_recommended_answer: |
      Reject any variant that hides source warnings, implies unconfirmed provenance, routes inactive/promoted paths as active next work, requires write-back for first value, or makes the operator read raw files before the overview is useful.
    agent_confidence: "high"
  - id: "evaluation-method"
    question: "How should the variants be compared before a branch moves to UI interview?"
    answer: |
      Compare the proposed branches by solo evaluator walkthrough against first-value clarity, source-trust visibility, branch-selection speed, recovery safety, and implementation cost; then send the strongest branch to UI interview first.
    recommended_answer: |
      Recommended: Compare the proposed branches by solo evaluator walkthrough against first-value clarity, source-trust visibility, branch-selection speed, recovery safety, and implementation cost; then send the strongest branch to UI interview first.
    agent_recommended_answer: |
      Compare the proposed branches by solo evaluator walkthrough against first-value clarity, source-trust visibility, branch-selection speed, recovery safety, and implementation cost; then send the strongest branch to UI interview first.
    agent_confidence: "medium"
gate_answers:
  - section: "Round 1 coverage"
    gate_type: "interrogation-round"
    status: "answered"
    answer: "Round 1 complete and ready for agent confidence-gate review."

Source Context

Shared Brief

Artifact metadata
skill: ux-variations
topic: uf-orient-portfolio
product_path: research/afps-tracker
parent_flow_branch: uf-orient-portfolio
source_command: "$ux-variations uf-orient-portfolio"
interrogation_sidecar: research/afps-tracker/_working/interrogation-ux-variations-r1.yaml
flow_tree: design/afps-tracker/flow-tree-afps-tracker.yaml
user_flow: design/afps-tracker/user-flow-afps-tracker.md
model_tree: design/afps-tracker/model-tree-afps-tracker.yaml
domain_model: design/afps-tracker/domain-model-afps-tracker.md

UX Variations Brief: Orient To Product Portfolio

Decision Surface

The selected user-flow branch is `uf-orient-portfolio`: the activation branch where an AFPS operator opens AFPS Tracker, scans the repo-local portfolio, sees active and parallel product paths, and selects a path for deeper inspection.

The parent flow boundary is intentionally narrow. This branch may vary how the operator enters, scans, groups, trusts, and selects from the portfolio overview. It must not absorb the sibling flows for selected-path verification, source/provenance inspection, diagnostics recovery, handoff/export, or inactive/promoted boundary explanation.

Source Context

Confirmed Assumptions

Primary persona: AFPS power user or AI workflow operator returning to a repo-local AFPS portfolio after context loss, session restart, compaction, handoff, or branch-state review.

Parent flow: stay bounded to orientation. The branch covers opening the tracker, scanning the portfolio, understanding active and parallel paths, and selecting a path.

Primary job: reduce context-reconstruction work by making portfolio state legible and source-linked before the operator reads raw files.

Activation moment: the operator reaches first value when they can see active and parallel paths, source health, and selection affordance clearly enough to choose what to inspect next.

Variation strategy: make the main orientation tension a variant axis and test all five approaches: quick-scan overview, trust-first source health, diagnostics-first recovery, portfolio-map grouping, and command/resume-first orientation.

Fixed constraints: preserve technical stack, read-first source fidelity, approved branch boundary, and trust-envelope semantics.

Variable dimensions: navigation, grouping, density, warning prominence, first-run guidance, handoff preview, entry emphasis, scan depth, selection model, and visual hierarchy.

Locked Shared Constraints

Approved Concept Set

quick-scan-overview

Name: Quick-Scan Overview

Thesis: Optimize the activation branch for the fastest credible first read. The operator should immediately see active and parallel paths, portfolio counts, clean/warning/blocked state, and a clear next selection without navigating through deeper diagnostics first.

Archetype: familiar SaaS dashboard plus compact operator console.

Best-fit user/context: returning operator who mostly trusts the repo state and needs to resume quickly after context loss.

Core workflow difference: open tracker -> scan grouped rows or summary bands -> select active path -> only inspect trust details if a warning or branch question demands it.

Major tradeoff: fastest first value, but risks underweighting source-health anxiety if warning design is too subtle.

Rough complexity: low to medium.

Proposed artifact path: `design/afps-tracker/ux-variations-uf-orient-portfolio/quick-scan-overview.md`.

trust-first-source-health

Name: Trust-First Source Health

Thesis: Make source trust the first object of orientation. The operator begins with manifest freshness, parser confidence, unreadable/missing refs, and source-backed versus inferred state before committing attention to a product path.

Archetype: data-dense operator console with source-health strip.

Best-fit user/context: operator returning after a long gap, repo churn, previous parse warnings, or ambiguous alignment/source state.

Core workflow difference: open tracker -> review source health envelope -> understand which groups are trustworthy -> select path with trust context already attached.

Major tradeoff: maximizes confidence and warning visibility, but may feel slower when the repo is clean and the operator just needs orientation.

Rough complexity: medium.

Proposed artifact path: `design/afps-tracker/ux-variations-uf-orient-portfolio/trust-first-source-health.md`.

diagnostics-first-recovery

Name: Diagnostics-First Recovery

Thesis: Treat recovery from stale, missing, contradictory, or unreadable state as the primary orientation job. The first screen helps the operator know what is usable, warning-level, or blocked before selecting work.

Archetype: recovery dashboard and triage workflow.

Best-fit user/context: operator arriving after a failed scan, stale repo state, malformed YAML, missing evidence refs, or unresolved active path references.

Core workflow difference: open tracker -> see diagnostic severity and affected portfolio regions -> resolve or accept caveats -> select only paths with safe orientation state.

Major tradeoff: strongest safety posture, but can over-index on exception handling for clean repositories.

Rough complexity: medium to high.

Proposed artifact path: `design/afps-tracker/ux-variations-uf-orient-portfolio/diagnostics-first-recovery.md`.

portfolio-map-grouping

Name: Portfolio-Map Grouping

Thesis: Make the portfolio itself spatially legible. The operator sees active, parallel, inactive, deferred, archived, promoted, unresolved, and out-of-scope groups as a map of branch state, with active selection emerging from the broader context.

Archetype: visual canvas or board with grouped state lanes.

Best-fit user/context: operator managing multiple product paths and needing to explain why each branch exists or why it is not active next work.

Core workflow difference: open tracker -> read branch-state map -> compare active and non-active groups -> select a path from its state neighborhood.

Major tradeoff: best for portfolio comprehension, but can become spatially heavier than needed for a single active path.

Rough complexity: medium to high.

Proposed artifact path: `design/afps-tracker/ux-variations-uf-orient-portfolio/portfolio-map-grouping.md`.

command-resume-first-orientation

Name: Command/Resume-First Orientation

Thesis: Start from the operator's immediate resume question: what can I safely do next, and why? The overview prioritizes a next-command or branch-state answer while preserving source warnings and route suppression.

Archetype: command/search-first interface with resume card.

Best-fit user/context: operator or agent resuming a workflow from a handoff, context compaction, or direct "what next?" prompt.

Core workflow difference: open tracker -> see safe resume answer or suppressed-command reason -> scan supporting paths and warnings -> select path for verification.

Major tradeoff: strongest handoff continuity, but risks leaking later `uf-handoff-resume` concerns into orientation unless the UI keeps the command preview explicitly provisional.

Rough complexity: medium.

Proposed artifact path: `design/afps-tracker/ux-variations-uf-orient-portfolio/command-resume-first-orientation.md`.

Evaluation Criteria

Compare proposed branches through solo evaluator walkthrough. The evaluator should judge each variation against:

Unacceptable Outcomes

Reject any variant that hides source warnings, implies unconfirmed provenance, routes inactive or promoted paths as active next work, requires write-back for first value, or makes the operator read raw files before the overview is useful.

Carried Decisions

All five concepts are kept for specification. Because the approved concept count is five and `--no-chunk` was not passed, the session uses chunked mode. Each next `$ux-variations uf-orient-portfolio` invocation should read this brief, write the first missing per-variation intermediate under `design/afps-tracker/ux-variations-uf-orient-portfolio/`, and stop with the same command until all five intermediates exist. The final assemble session then builds the whole-set alignment page before any canonical UX variation plan or flow-tree `ux_variations[]` entries are written.

Cross-Variation Carry-Forward

quick-scan-overview

The Quick-Scan Overview intermediate is written at `design/afps-tracker/ux-variations-uf-orient-portfolio/quick-scan-overview.md`. It establishes the fast-orientation baseline: source-health strip, compact portfolio counts, active-first grouped rows, row selection, lightweight selected-row preview, and visible warning/disabled-action reasons. Sibling variations should stay meaningfully distinct by changing the first object of attention rather than restyling this baseline: source-health-first for trust, diagnostics-first for recovery, spatial map-first for portfolio comprehension, and resume-answer-first for command continuity.

trust-first-source-health

The Trust-First Source Health intermediate is written at `design/afps-tracker/ux-variations-uf-orient-portfolio/trust-first-source-health.md`. It establishes the source-trust-first branch: source-health console, trust envelope summary, separate parser/source confidence, unresolved refs, impact summary by affected level, trust-filtered path groups, inherited caveats on rows, and selected path trust recap. Sibling variations should remain distinct: diagnostics-first should center repair/triage, portfolio-map should center spatial branch-state comprehension, and command/resume-first should center provisional next-work continuity.

diagnostics-first-recovery

The Diagnostics-First Recovery intermediate is written at `design/afps-tracker/ux-variations-uf-orient-portfolio/diagnostics-first-recovery.md`. It establishes the recovery-triage-first branch: blocked/warning/unresolved/usable counts, diagnostic clusters by severity and affected level, blocked-action summaries, usability-grouped path lists, selected path recovery recap, and explicit routes to diagnostics recovery or boundary explanation. Sibling variations should remain distinct: portfolio-map should center spatial portfolio topology and branch-state neighborhoods rather than issue triage, and command/resume-first should center provisional next-work continuity while suppressing unsafe handoff behavior.

portfolio-map-grouping

The Portfolio-Map Grouping intermediate is written at `design/afps-tracker/ux-variations-uf-orient-portfolio/portfolio-map-grouping.md`. It establishes the spatial portfolio-comprehension branch: state lanes or grouped regions, map legend, active/parallel/context neighborhoods, boundary and unresolved nodes, selected-node preview, source-derived relationship hints, and explicit read-only map constraints. The remaining command/resume-first variation should stay distinct by centering the operator's immediate "what can I safely do next, and why?" question rather than branch-state topology.

command-resume-first-orientation

The Command/Resume-First Orientation intermediate is written at `design/afps-tracker/ux-variations-uf-orient-portfolio/command-resume-first-orientation.md`. It establishes the continuity-first branch: a provisional resume answer card, safe/ambiguous/warning/blocked/boundary posture states, candidate path support, route-suppression reasons, trust-envelope caveats, and explicit deferral of final copyable handoff behavior to `uf-handoff-resume`. The assemble phase should compare all five branches as distinct first objects of attention: fast portfolio selection, source trust, recovery triage, spatial branch topology, and safe next-work continuity.

Current Flow-Tree Excerpt

schema_version: v0.4
mode: product-path
topic: afps-tracker
product_path: research/afps-tracker
status: approved
approved_at: "2026-07-02"
alignment_page: alignment/user-flow-map-afps-tracker.html
model_tree_ref: design/afps-tracker/model-tree-afps-tracker.yaml
route:
  - user-flow-map
  - ux-variations
  - ui-interview
  - logic-wiring
  - consolidate-prototypes
  - spec-interview
source_artifacts:
  - research/afps-tracker/idea-brief.md
  - research/afps-tracker/icp.md
  - research/afps-tracker/competitive-analysis.md
  - research/afps-tracker/journey-map.md
  - research/afps-tracker/positioning.md
  - research/afps-tracker/glossary.md
  - research/.progress.yaml
  - research/afps-tracker/_working/interrogation-user-flow-map-r1.yaml
  - design/afps-tracker/user-flow-afps-tracker.md
  - design/afps-tracker/user-flow-afps-tracker-interview.md
artifacts:
  flow_map: design/afps-tracker/user-flow-afps-tracker.md
  interview_log: design/afps-tracker/user-flow-afps-tracker-interview.md
  alignment_page: alignment/user-flow-map-afps-tracker.html
branch_order_override:
  ordered_branch_ids: []
  override_rationale: No explicit branch-order override was requested; journey-progression order is used.
  recorded_at: "2026-07-02"
branches:
  - id: uf-orient-portfolio
    name: Orient To Product Portfolio
    type: user-flow
    status: pending
    journey_stage: activation
    journey_sequence: 10
    evaluation_priority: pending-key-moments
    priority_rationale: Earliest context recovery before selected-path trust work.
    artifacts:
      - design/afps-tracker/user-flow-afps-tracker.md
    model_ref: design/afps-tracker/model-tree-afps-tracker.yaml
    progressive_review:
      first_value_moment: Operator sees active and parallel paths without manual file reading.
      primary_task_path: Open tracker, scan portfolio, select path.
      sequence: 1
  - id: uf-verify-selected-path
    name: Verify Selected Product Path
    type: user-flow
    status: pending
    journey_stage: first-value
    journey_sequence: 20
    evaluation_priority: pending-key-moments
    priority_rationale: Core first-value branch and highest trust risk.
    artifacts:
      - design/afps-tracker/user-flow-afps-tracker.md
    model_ref: design/afps-tracker/model-tree-afps-tracker.yaml
    progressive_review:
      first_value_moment: Operator trusts selected path stage, status, reason, evidence, provenance, and next skill.
      primary_task_path: Select path, inspect detail, verify evidence and provenance.
      sequence: 2
  - id: uf-inspect-source-provenance
    name: Inspect Source And Provenance
    type: user-flow
    status: pending
    journey_stage: first-value
    journey_sequence: 30
    evaluation_priority: pending-key-moments
    priority_rationale: Converts summary state into verifiable source-backed state.
    artifacts:
      - design/afps-tracker/user-flow-afps-tracker.md
    model_ref: design/afps-tracker/model-tree-afps-tracker.yaml
    progressive_review:
      first_value_moment: Operator can trace displayed claims to source docs and approval lineage.
      primary_task_path: Open evidence inspector and provenance view.
      sequence: 3
  - id: uf-recover-diagnostics
    name: Recover From Diagnostics
    type: user-flow
    status: pending
    journey_stage: recovery
    journey_sequence: 40
    evaluation_priority: pending-key-moments
    priority_rationale: Prevents false confidence under stale, missing, contradictory, or unreadable sources.
    artifacts:
      - design/afps-tracker/user-flow-afps-tracker.md
    model_ref: design/afps-tracker/model-tree-afps-tracker.yaml
    progressive_review:
      first_value_moment: Operator knows what remains usable, warning-level, or blocked.
      primary_task_path: Review diagnostics and route to source verification.
      sequence: 4
  - id: uf-handoff-resume
    name: Resume Or Export Handoff
    type: user-flow
    status: pending
    journey_stage: handoff
    journey_sequence: 50
    evaluation_priority: pending-key-moments
    priority_rationale: Completes the read-first flow once trust is established.
    artifacts:
      - design/afps-tracker/user-flow-afps-tracker.md
    model_ref: design/afps-tracker/model-tree-afps-tracker.yaml
    progressive_review:
      first_value_moment: Operator leaves with next command or branch-state answer preserving evidence and warnings.
      primary_task_path: Generate handoff summary and copy/export if allowed.
      sequence: 5
  - id: uf-explain-boundaries
    name: Explain Inactive Or Promoted Boundaries
    type: user-flow
    status: pending
    journey_stage: handoff
    journey_sequence: 60
    evaluation_priority: pending-key-moments
    priority_rationale: Preserves AFPS Tracker scope and keeps execution tracking separate.
    artifacts:
      - design/afps-tracker/user-flow-afps-tracker.md
    model_ref: design/afps-tracker/model-tree-afps-tracker.yaml
    progressive_review:
      first_value_moment: Operator can explain inactive, promoted, or out-of-scope branches without misleading routing.
      primary_task_path: Inspect inactive/promoted path and generate explanatory boundary handoff.
      sequence: 6
decisions:
  - id: decision-user-flow-map-approval-2026-07-02
    type: alignment-approval
    status: approved
    recorded_at: "2026-07-02"
    source: alignment/user-flow-map-afps-tracker.html
    summary: Approved canonical flow map, interview log, and flow-tree manifest for AFPS Tracker first real repo read-through.
    gates:
      - section: Canonical flow map
        answer: approve
        target_path: design/afps-tracker/user-flow-afps-tracker.md
      - section: Interview log
        answer: approve
        target_path: design/afps-tracker/user-flow-afps-tracker-interview.md
      - section: Flow-tree manifest
        answer: approve
        target_path: design/afps-tracker/flow-tree-afps-tracker.yaml
  - id: decision-state-model-approval-2026-07-02
    type: alignment-approval
    status: approved
    recorded_at: "2026-07-02"
    source: alignment/state-model-afps-tracker.html
    summary: Approved canonical AFPS Tracker logical domain model, model-tree manifest, flow-tree model attachment, and retained glossary additions.
    gates:
      - section: Domain model
        answer: approve
        target_path: design/afps-tracker/domain-model-afps-tracker.md
      - section: Model tree manifest
        answer: approve
        target_path: design/afps-tracker/model-tree-afps-tracker.yaml
      - section: Flow-tree model attachment
        answer: approve
        target_path: design/afps-tracker/flow-tree-afps-tracker.yaml
      - section: Glossary additions
        answer: approve
        target_path: research/afps-tracker/glossary.md

Quick-Scan Overview Full Intermediate Spec

design/afps-tracker/ux-variations-uf-orient-portfolio/quick-scan-overview.md

Artifact metadata
skill: ux-variations
topic: uf-orient-portfolio
product_path: research/afps-tracker
parent_flow_branch: uf-orient-portfolio
variation_id: quick-scan-overview
status: intermediate
source_command: "$ux-variations uf-orient-portfolio"
brief: design/afps-tracker/_working/ux-variations-uf-orient-portfolio-brief.md
flow_tree: design/afps-tracker/flow-tree-afps-tracker.yaml
user_flow: design/afps-tracker/user-flow-afps-tracker.md
domain_model: design/afps-tracker/domain-model-afps-tracker.md
model_tree: design/afps-tracker/model-tree-afps-tracker.yaml

Quick-Scan Overview

Design Thesis

Quick-Scan Overview optimizes the orientation branch for the fastest credible first read of an AFPS portfolio. The operator should open AFPS Tracker and immediately understand how many paths exist, which paths are active or parallel, whether the source state is clean, warning, or blocked, and which path can be selected next.

The variation deliberately keeps diagnostics and provenance visible but secondary. It assumes a returning operator who mostly trusts the repository state and needs to rebuild context quickly after compaction, session restart, or handoff.

Target User Fit

Best fit: AFPS power user or AI workflow operator returning to a familiar repo where source files usually parse cleanly.

Usage context:

Poor fit:

Parent Flow And Branch Relationship

Parent user-flow branch: `uf-orient-portfolio`.

Branch boundary: open tracker, scan portfolio, understand active and parallel paths, and select a path for deeper inspection. This variation must not absorb selected-path verification, evidence/provenance inspection, diagnostics recovery, export, or boundary explanation flows.

Logical substrate preserved:

Page And Flow Changes

This variation makes `Portfolio Overview` the dominant first surface. It compresses source health, path counts, active paths, and selection controls into one scan-first page.

Primary flow:

  1. Open AFPS Tracker on an existing repository.
  2. See a portfolio summary strip with scan state, path counts, active refs, warnings, and blocked issues.
  3. Scan active and parallel path rows grouped by status.
  4. Select the path that looks like the right next context.
  5. Continue to selected-path verification with the selected path ID and visible warnings preserved.

Secondary paths:

Progression Model

Progression is scan-first and row-selection driven.

The user advances by reading the top summary and selecting a product path row. The UI does not require a wizard, diagnostic acknowledgement, evidence drilldown, or command search before selection. Warnings and trust limits ride along as badges, banners, and disabled-action reasons.

How this differs from sibling concepts:

Completion criteria:

Onboarding And Activation Model

First-run onboarding is minimal and contextual.

Initial frame:

Activation moment:

The operator reaches first value when the summary strip and grouped path rows show active and parallel paths clearly enough to choose a path without reading raw files.

The page should avoid tutorial copy. It should use structure, labels, and badges to make the workflow obvious.

Typical Workflow Sequence

  1. Repository scan begins.
  2. Portfolio summary strip appears with source health and path counts.
  3. Active paths are shown first, followed by parallel or inactive context groups.
  4. Each path row shows label, ID, status, pipeline stage, next skill, last touched, trust level, and warning count.
  5. The operator selects a path row.
  6. A compact selection preview appears inline or in a right-side detail summary, showing selected path status and any blocking caveats.
  7. The primary action moves to selected-path verification.
  8. If the operator needs evidence, provenance, diagnostics, or boundary explanation, secondary links route to sibling branches instead of expanding the orientation flow.

Sharing, Collaboration, And Permissions Model

This variation assumes solo evaluator use by default. It does not introduce collaboration, account roles, invitations, comments, or permissions.

Share-like behavior is limited to later handoff concerns:

Permission-denied source reads are treated as diagnostics. The page names inaccessible files and keeps unaffected source-backed rows visible.

Return-Use And Notification Model

Return use is passive and source-native.

Re-entry triggers:

The page does not use notifications. It should show scan freshness, source timestamps when available, and `last_touched` values so a returning user can judge whether the view is current.

Failure Recovery And Abandoned-Workflow Behavior

Recovery remains visible but compact.

Failure states:

Abandoned workflow:

If the user leaves after scanning but before selecting, no state write-back occurs. On return, the tracker rescans canonical files and labels scan freshness. If a prior selected path can be retained locally by the eventual implementation, it must be visually subordinate to the new scan state.

Navigation is shallow and overview-centered.

Primary navigation:

Secondary navigation:

No global side navigation is required for this variation. If a shell exists later, the overview should still be the first meaningful screen.

Screen-By-Screen Layout

Screen 1: Loading / Scan

Purpose: communicate that the tracker is reading repo-local source files.

Regions:

Key behavior:

Screen 2: Portfolio Overview

Purpose: let the operator orient and select.

Regions:

Row content:

Screen 3: Selected Row Preview

Purpose: confirm selection without turning orientation into deep verification.

Regions:

Key behavior:

Screen 4: Empty / No-AFPS State

Purpose: avoid fabricated guidance.

Regions:

Screen 5: Blocking Diagnostic Summary

Purpose: preserve orientation while preventing false confidence.

Regions:

Key Components And Controls

Components:

Controls:

Avoid:

Primary button: `Continue to verify path`.

Enabled when:

Disabled or suppressed when:

Secondary links:

Links must preserve source paths, warning IDs, selected path ID, trust level, parser confidence, and source confidence in the downstream context.

Spatial Density, Sizing, And Hierarchy

Density: compact to comfortable.

Hierarchy:

  1. Source-health strip and portfolio counts.
  2. Active path group.
  3. Parallel/context path groups.
  4. Row-level warnings and boundary labels.
  5. Secondary diagnostics and source actions.

List rows should support fast scanning with predictable columns or column-like regions. Warning and boundary labels must be visible without expanding the row.

The visual feel should be restrained and operational, closer to a source-aware dashboard than a marketing overview. Cards may be used for repeated path rows, but avoid nested cards and decorative framing.

Responsive Behavior

Desktop:

Tablet:

Mobile:

Visual Tone

Tone: calm, source-aware, utilitarian, and fast.

The page should communicate confidence without hiding risk. Clean source state can feel light and efficient, but warning and blocked states need enough contrast to prevent false reassurance.

Avoid heavy onboarding illustrations, large hero sections, decorative gradients, or single-hue styling. The UI should feel like a reliable local operator surface.

Strengths

Risks And Failure Modes

Mitigations:

Implementation Complexity

Estimated complexity: low to medium.

Reasons:

Implementation-sensitive areas:

What UI Review Should Validate First

UI review should validate whether the page delivers orientation without burying source trust.

Priority validation questions:

User Signal For UI Interview Readiness

This branch is ready for `$ui-interview` if a reviewer agrees that Quick-Scan should be the baseline orientation candidate: fastest credible first read, source warnings visible in the overview, row selection clear, and no unsafe next-command or handoff behavior leaking into the activation branch.

Strong positive signal:

Negative signal:

Future Experiment Target

If this variation later receives UI approval, a future experiment route could be named `/experiments/quick-scan-overview`. Default progression-mode rules still apply: no prototype buildout or route implementation should be written from this UX variation alone before an approved `$ui-interview` branch exists.

Trust-First Source Health Full Intermediate Spec

design/afps-tracker/ux-variations-uf-orient-portfolio/trust-first-source-health.md

Artifact metadata
skill: ux-variations
topic: uf-orient-portfolio
product_path: research/afps-tracker
parent_flow_branch: uf-orient-portfolio
variation_id: trust-first-source-health
status: intermediate
source_command: "$ux-variations uf-orient-portfolio"
brief: design/afps-tracker/_working/ux-variations-uf-orient-portfolio-brief.md
flow_tree: design/afps-tracker/flow-tree-afps-tracker.yaml
user_flow: design/afps-tracker/user-flow-afps-tracker.md
domain_model: design/afps-tracker/domain-model-afps-tracker.md
model_tree: design/afps-tracker/model-tree-afps-tracker.yaml

Trust-First Source Health

Design Thesis

Trust-First Source Health makes source trust the first object of orientation. The operator should open AFPS Tracker and immediately understand whether the repo-local portfolio read is fresh, source-backed, partial, inferred, warning-level, or blocked before committing attention to a product path.

The variation treats path selection as a consequence of source-health interpretation. It assumes the operator may be returning after a long gap, repo churn, parser warnings, context loss, or previous ambiguity, and therefore needs confidence in the read model before they trust the portfolio list.

Target User Fit

Best fit: AFPS operator or AI workflow maintainer who needs to re-establish trust before resuming a product path.

Usage context:

Poor fit:

Parent Flow And Branch Relationship

Parent user-flow branch: `uf-orient-portfolio`.

Branch boundary: open tracker, scan portfolio, understand active and parallel paths, and select a path for deeper inspection. This variation changes the order of attention inside orientation: source health first, path list second. It must not absorb full diagnostic recovery, evidence/provenance inspection, selected-path verification, handoff/export, or inactive/promoted boundary explanation.

Logical substrate preserved:

Page And Flow Changes

This variation makes `Source Health` the dominant first surface inside the portfolio overview. The path list remains visible, but the first scan object is a trust envelope that explains what the tracker read, what it could not read, and which path groups inherit caveats.

Primary flow:

  1. Open AFPS Tracker on an existing repository.
  2. See a source-health console with scan freshness, manifest state, parser confidence, source confidence, warning counts, blocked issues, and unresolved refs.
  3. Review how the health envelope affects active, parallel, inactive, promoted, and unresolved path groups.
  4. Select a product path with trust context already attached.
  5. Continue to selected-path verification with trust envelope, warning IDs, and diagnostic refs preserved.

Secondary paths:

Progression Model

Progression is trust-envelope-first and path-selection-second.

The user advances by reading the source-health summary, deciding whether the portfolio is sufficiently trustworthy for orientation, and then selecting a path row. The UI does not require the user to fix diagnostics before orientation, but it makes trust state impossible to miss.

How this differs from sibling concepts:

Completion criteria:

Onboarding And Activation Model

First-run onboarding is embedded in the source-health console.

Initial frame:

Activation moment:

The operator reaches first value when they trust the shape of the portfolio enough to choose what to inspect next, even if some source warnings remain unresolved.

The page should not teach AFPS from scratch. It should make the trust contract obvious through field labels, badges, warnings, and source refs.

Typical Workflow Sequence

  1. Repository scan begins and displays source files being checked.
  2. Source-health console loads first with scan freshness, manifest state, parser confidence, source confidence, unresolved refs, and issue severity.
  3. A compact impact summary groups caveats by portfolio-level, path-level, source-level, and handoff-level impact.
  4. Path groups appear below or beside the health console with trust badges inherited from the source envelope.
  5. The operator expands or filters by trust state when necessary.
  6. The operator selects a product path row.
  7. A selected path trust summary confirms why selection is safe, warning-level, blocked, or boundary-routed.
  8. The primary action moves to selected-path verification only when source state supports inspection; blocked or boundary states route to recovery or explanation branches.

Sharing, Collaboration, And Permissions Model

This variation assumes solo evaluator use and does not introduce accounts, invitations, comments, collaborative review, or role permissions.

Permission boundaries are source-health inputs:

Share-like behavior is limited to later handoff concerns. A source-health summary may preview what caveats would need to travel with a future handoff, but copy/export controls are not primary in this orientation branch.

Return-Use And Notification Model

Return use is trust-refresh oriented.

Re-entry triggers:

The page does not use notifications. Instead, it emphasizes scan freshness, last-read time when available, current source paths, and whether cached or prior scan state is being replaced by a fresh repo-local read.

Failure Recovery And Abandoned-Workflow Behavior

Recovery remains visible and source-scoped, but not full triage.

Failure states:

Abandoned workflow:

If the user leaves after reviewing source health but before selecting, no state write-back occurs. On return, the tracker rescans canonical files and labels scan freshness. Any remembered selection must be subordinate to the newly read source-health envelope.

Navigation is shallow, but trust-centered.

Primary navigation:

Secondary navigation:

A global side nav is optional. If present later, Source Health should remain part of the overview surface rather than becoming a separate administration page.

Screen-By-Screen Layout

Screen 1: Loading / Source Scan

Purpose: communicate that the tracker is reading repo-local AFPS artifacts and computing trust state.

Regions:

Key behavior:

Screen 2: Source Health Console

Purpose: make trust state legible before path selection.

Regions:

Key behavior:

Screen 3: Trust-Annotated Portfolio

Purpose: let the operator select a path with trust context already attached.

Regions:

Row content:

Screen 4: Selected Path Trust Summary

Purpose: confirm selection through trust context without replacing selected-path verification.

Regions:

Key behavior:

Screen 5: Empty / No-AFPS Or No-Trust State

Purpose: avoid fabricated portfolio guidance.

Regions:

Screen 6: Blocking Health Summary

Purpose: preserve orientation while making unsafe trust state impossible to miss.

Regions:

Key Components And Controls

Components:

Controls:

Avoid:

Primary button: `Continue to verify path`.

Enabled when:

Disabled or suppressed when:

Secondary links:

Links must preserve source paths, issue IDs, selected path ID, trust level, parser confidence, source confidence, source status, warning IDs, and diagnostic refs.

Spatial Density, Sizing, And Hierarchy

Density: data-dense but readable.

Hierarchy:

  1. Source-health state and scan freshness.
  2. Parser confidence and source confidence.
  3. Unresolved refs and blocking/warning impact.
  4. Trust-annotated active path group.
  5. Parallel and context groups.
  6. Secondary source/provenance/deeper diagnostic actions.

The layout should support fast comparison of trust fields without forcing a full table for first value. Health cards or compact panels can be used for the top console, with rows below using predictable columns or column-like regions.

The visual feel should be operational and evidence-aware. It can be denser than Quick-Scan, but it should still feel like an orientation surface rather than a log viewer.

Responsive Behavior

Desktop:

Tablet:

Mobile:

Visual Tone

Tone: cautious, precise, source-native, and calm.

The page should communicate that the tracker earns trust by exposing source quality. Clean source state may feel efficient, but warning, partial, unsupported, contradicted, and blocked states need enough visual weight to prevent false reassurance.

Avoid hero treatment, decorative gradients, vague "health score" theatrics, or a single aggregate score that hides parser/source differences. Use direct labels and source-backed details.

Strengths

Risks And Failure Modes

Mitigations:

Implementation Complexity

Estimated complexity: medium.

Reasons:

Implementation-sensitive areas:

What UI Review Should Validate First

UI review should validate whether trust-first orientation improves confidence without burying path selection.

Priority validation questions:

User Signal For UI Interview Readiness

This branch is ready for `$ui-interview` if a reviewer agrees that AFPS Tracker should lead orientation with source trust: the user needs confidence in manifest freshness, parser confidence, source confidence, unresolved refs, and warning impact before deciding which path to inspect.

Strong positive signal:

Negative signal:

Future Experiment Target

If this variation later receives UI approval, a future experiment route could be named `/experiments/trust-first-source-health`. Default progression-mode rules still apply: no prototype buildout or route implementation should be written from this UX variation alone before an approved `$ui-interview` branch exists.

Diagnostics-First Recovery Full Intermediate Spec

design/afps-tracker/ux-variations-uf-orient-portfolio/diagnostics-first-recovery.md

Artifact metadata
skill: ux-variations
topic: uf-orient-portfolio
product_path: research/afps-tracker
parent_flow_branch: uf-orient-portfolio
variation_id: diagnostics-first-recovery
status: intermediate
source_command: "$ux-variations uf-orient-portfolio"
brief: design/afps-tracker/_working/ux-variations-uf-orient-portfolio-brief.md
flow_tree: design/afps-tracker/flow-tree-afps-tracker.yaml
user_flow: design/afps-tracker/user-flow-afps-tracker.md
domain_model: design/afps-tracker/domain-model-afps-tracker.md
model_tree: design/afps-tracker/model-tree-afps-tracker.yaml

Diagnostics-First Recovery

Design Thesis

Diagnostics-First Recovery treats recovery from stale, missing, contradictory, unreadable, or unresolved state as the primary orientation job. The operator should open AFPS Tracker and immediately understand what remains usable, what is warning-level, what is blocked, and which product paths can be safely inspected before they select work.

The variation is intentionally safety-forward. It assumes the operator may be arriving after a failed scan, malformed manifest, missing scoped research path, unresolved active ref, permission problem, or contradictory source state. The first object of attention is not a clean portfolio list or general source-health confidence; it is an actionable recovery triage that preserves orientation while preventing false confidence.

Target User Fit

Best fit: AFPS operator or AI workflow maintainer returning to a repo after suspected source damage, stale artifacts, branch-state contradiction, incomplete handoff, or a prior blocked tracker read.

Usage context:

Poor fit:

Parent Flow And Branch Relationship

Parent user-flow branch: `uf-orient-portfolio`.

Branch boundary: open tracker, scan portfolio, understand active and parallel paths, and select a path for deeper inspection. This variation changes orientation by leading with recovery classification and safe-selection state. It must not absorb the full sibling `uf-recover-diagnostics` branch, where the operator reviews diagnostics deeply and routes to source verification or manual correction.

Logical substrate preserved:

Page And Flow Changes

This variation makes `Recovery Triage` the dominant first surface inside the portfolio overview. The path list remains present, but it is organized around usability: usable now, warning-level, blocked, unresolved, and boundary-routed.

Primary flow:

  1. Open AFPS Tracker on an existing repository.
  2. See a recovery triage header with blocking issue count, warning count, unresolved refs, affected scope, and what remains usable.
  3. Review diagnostic clusters by severity and affected level.
  4. Select a product path from the safe or warning-level groups, or route a blocked group to diagnostics recovery.
  5. Continue to selected-path verification only when the selected path can be inspected safely, carrying warnings and diagnostic refs forward.

Secondary paths:

Progression Model

Progression is recovery-triage-first and safe-selection-second.

The user advances by understanding diagnostic severity, affected scope, and remaining usable path groups before selecting a path or opening a recovery route. The UI does not demand that every issue be fixed before orientation, but it requires the user to see which parts of the portfolio are unsafe.

How this differs from sibling concepts:

Completion criteria:

Onboarding And Activation Model

First-run onboarding is framed as recovery orientation.

Initial frame:

Activation moment:

The operator reaches first value when they know what parts of the portfolio can still be trusted enough to inspect and what is blocked or caveated before any selection.

The page should not teach diagnostics concepts as a tutorial. It should expose concrete source paths, affected refs, blocked actions, and safe next inspection choices.

Typical Workflow Sequence

  1. Repository scan begins and displays source files being checked.
  2. Recovery triage loads with counts for blocked, warning, unresolved, and usable items.
  3. Diagnostic clusters group issues by severity and affected level.
  4. The page shows `Usable now`, `Usable with warnings`, `Blocked`, `Unresolved refs`, and `Boundary/context` path groups.
  5. The operator expands an issue cluster or selects a path row.
  6. A selected-path recovery summary explains why the path is safe, warning-level, blocked, or boundary-routed.
  7. The primary action either continues to selected-path verification or opens diagnostics recovery for the blocked issue.
  8. Secondary links route to source/provenance inspection or boundary explanation without expanding the orientation branch into those sibling flows.

Sharing, Collaboration, And Permissions Model

This variation assumes solo evaluator use by default. It does not introduce accounts, invitations, collaborative triage, comments, roles, or permissions.

Permission and access problems are modeled as diagnostics:

Share-like behavior is limited to later handoff concerns. A blocked or warning state may preview the caveats a future handoff would need to carry, but copy/export controls are not primary in this orientation branch.

Return-Use And Notification Model

Return use is recovery-state refresh.

Re-entry triggers:

The page does not use notifications. Instead, it emphasizes scan freshness, issue persistence, affected source paths, and whether previous blocked/warning state is still present after the current read.

Failure Recovery And Abandoned-Workflow Behavior

Recovery is central but bounded to orientation.

Failure states:

Abandoned workflow:

If the user leaves while triage is open, no state write-back occurs. On return, the tracker rescans canonical files and labels whether issues are current, resolved, or newly discovered. Any remembered filter or selected issue must be subordinate to the fresh scan result.

Navigation is shallow but triage-centered.

Primary navigation:

Secondary navigation:

No global side navigation is required. If a shell exists later, Recovery Triage should remain part of the portfolio overview rather than becoming a separate admin page.

Screen-By-Screen Layout

Screen 1: Loading / Diagnostic Scan

Purpose: communicate that the tracker is reading repo-local source files and classifying recovery state.

Regions:

Key behavior:

Screen 2: Recovery Triage Overview

Purpose: make usable, warning-level, and blocked portfolio state legible before path selection.

Regions:

Key behavior:

Screen 3: Diagnostic Clusters

Purpose: let the operator understand issue scope without entering full diagnostics recovery.

Regions:

Key behavior:

Screen 4: Usability-Grouped Portfolio

Purpose: let the operator select a path after seeing recovery state.

Regions:

Row content:

Screen 5: Selected Path Recovery Summary

Purpose: confirm whether the selected path can advance to verification or must route to recovery/explanation.

Regions:

Key behavior:

Screen 6: Empty / No-AFPS Or No-Usable-State

Purpose: avoid fabricated portfolio guidance when source state does not support orientation.

Regions:

Screen 7: Blocking Diagnostic Summary

Purpose: preserve orientation while making unsafe state impossible to bypass.

Regions:

Key Components And Controls

Components:

Controls:

Avoid:

Primary button: `Continue to verify path`.

Enabled when:

Disabled or suppressed when:

Secondary links:

Links must preserve source paths, issue IDs, selected path ID, trust level, parser confidence, source confidence, source status, warning IDs, affected level, handoff impact, and diagnostic refs.

Spatial Density, Sizing, And Hierarchy

Density: medium to data-dense.

Hierarchy:

  1. Blocking and warning state.
  2. Affected scope and blocked action reasons.
  3. What remains usable.
  4. Usable and warning-level path groups.
  5. Blocked/unresolved/boundary context groups.
  6. Secondary source, provenance, and diagnostics actions.

The layout should make issue severity unavoidable without hiding selectable rows. A top triage band can lead into a two-column desktop arrangement: diagnostic clusters on one side and usability-grouped paths on the other. Path rows should remain scan-friendly and should not become a full log table.

The visual feel should be operational, direct, and calm under failure. Warning and blocked states need enough contrast to prevent false confidence, but the page should still show progress and usable scope instead of feeling like a dead end.

Responsive Behavior

Desktop:

Tablet:

Mobile:

Visual Tone

Tone: recovery-oriented, precise, source-native, and controlled.

The page should communicate that AFPS Tracker is useful even when the repo is imperfect because it tells the operator what can still be trusted. Clean states may collapse into an efficient overview, but warning and blocked states should use plain labels, affected source refs, and disabled-action reasons.

Avoid alarmist styling, generic error pages, decorative gradients, mascot-like empty states, and abstract "health score" visuals. The page should feel like a local operator triage surface, not incident-management theater.

Strengths

Risks And Failure Modes

Mitigations:

Implementation Complexity

Estimated complexity: medium to high.

Reasons:

Implementation-sensitive areas:

What UI Review Should Validate First

UI review should validate whether diagnostics-first orientation improves safety without making clean or warning repositories feel unusable.

Priority validation questions:

User Signal For UI Interview Readiness

This branch is ready for `$ui-interview` if a reviewer agrees that AFPS Tracker's orientation should prioritize recovery clarity: the user needs to know what remains usable, what is warning-level, and what is blocked before selecting a path.

Strong positive signal:

Negative signal:

Future Experiment Target

If this variation later receives UI approval, a future experiment route could be named `/experiments/diagnostics-first-recovery`. Default progression-mode rules still apply: no prototype buildout or route implementation should be written from this UX variation alone before an approved `$ui-interview` branch exists.

Portfolio-Map Grouping Full Intermediate Spec

design/afps-tracker/ux-variations-uf-orient-portfolio/portfolio-map-grouping.md

Artifact metadata
skill: ux-variations
topic: uf-orient-portfolio
product_path: research/afps-tracker
parent_flow_branch: uf-orient-portfolio
variation_id: portfolio-map-grouping
status: intermediate
source_command: "$ux-variations uf-orient-portfolio"
brief: design/afps-tracker/_working/ux-variations-uf-orient-portfolio-brief.md
flow_tree: design/afps-tracker/flow-tree-afps-tracker.yaml
user_flow: design/afps-tracker/user-flow-afps-tracker.md
domain_model: design/afps-tracker/domain-model-afps-tracker.md
model_tree: design/afps-tracker/model-tree-afps-tracker.yaml

Portfolio-Map Grouping

Design Thesis

Portfolio-Map Grouping makes the AFPS portfolio itself spatially legible. The operator should open AFPS Tracker and see active, parallel, inactive, deferred, archived, promoted, unresolved, unsupported, and out-of-scope groups as a branch-state map, with active selection emerging from the broader state neighborhood.

The variation treats orientation as a topology problem. It assumes the operator manages multiple product paths and needs to understand why each branch exists, which paths are currently inspectable, and which paths are context rather than active next work. The first object of attention is the portfolio map, not a compact list, trust console, diagnostics queue, or resume command.

Target User Fit

Best fit: AFPS operator or AI workflow maintainer managing a repo with multiple active, parallel, inactive, promoted, or boundary-state product paths.

Usage context:

Poor fit:

Parent Flow And Branch Relationship

Parent user-flow branch: `uf-orient-portfolio`.

Branch boundary: open tracker, scan portfolio, understand active and parallel paths, and select a path for deeper inspection. This variation changes the mental model inside orientation: paths are grouped spatially by branch state and usability. It must not absorb selected-path verification, source/provenance inspection, diagnostics recovery, handoff/export, or inactive/promoted boundary explanation.

Logical substrate preserved:

Page And Flow Changes

This variation makes `Portfolio Map` the dominant first surface. Product paths are displayed as state-grouped nodes or lane cards: active and parallel paths remain prominent, but inactive, deferred, archived, promoted, unresolved, and out-of-scope groups stay visible as branch-state context.

Primary flow:

  1. Open AFPS Tracker on an existing repository.
  2. See a branch-state map with active, parallel/context, inactive/deferred, promoted, unresolved, and blocked/out-of-scope regions.
  3. Scan the state neighborhoods and source caveats.
  4. Select a path node from the map.
  5. Continue to selected-path verification, diagnostics recovery, or boundary explanation based on the node state.

Secondary paths:

Progression Model

Progression is spatial-map-first and node-selection-second.

The user advances by reading branch-state neighborhoods, comparing active and non-active groups, and selecting the node that matches their current intent. The UI does not require a row table, wizard, diagnostics acknowledgement, or command search before selection.

How this differs from sibling concepts:

Completion criteria:

Onboarding And Activation Model

First-run onboarding is spatial and label-driven.

Initial frame:

Activation moment:

The operator reaches first value when the branch-state map explains what paths exist, which ones are active, why surrounding branches are not active next work, and which node can be selected for deeper inspection.

The page should avoid tutorial copy. The map structure, lane labels, badges, and disabled-action reasons should carry the explanation.

Typical Workflow Sequence

  1. Repository scan begins and renders a map skeleton with lane placeholders.
  2. The map resolves into state lanes or grouped regions.
  3. Active paths appear in the primary lane with stage, next skill, trust, and warning indicators.
  4. Parallel/context groups show inactive, deferred, archived, revisit-candidate, promoted, unresolved, unsupported, and out-of-scope nodes.
  5. The operator hovers, focuses, or selects a node.
  6. A compact node detail panel summarizes selected state, source status, warnings, boundary kind, and available route.
  7. The primary action continues to selected-path verification for active/warning-level nodes.
  8. Boundary, unresolved, blocked, or promoted nodes route to boundary explanation or diagnostics recovery instead of normal active verification.

Sharing, Collaboration, And Permissions Model

This variation assumes solo evaluator use by default. It does not introduce account roles, collaboration, comments, invitations, or permissions.

The map may support explanatory handoff later by making branch state legible, but copy/export controls are not primary in this branch. Any future share-like behavior must preserve source warnings, boundary labels, and route suppression.

Permission-denied source reads are represented as node or lane caveats. Unaffected map regions remain visible when partial source-backed data is available.

Return-Use And Notification Model

Return use is portfolio-shape refresh.

Re-entry triggers:

The page does not use notifications. It should show scan freshness and last-touched values on nodes, with clear labels when prior map state is being replaced by a fresh repo-local scan.

Failure Recovery And Abandoned-Workflow Behavior

Recovery is visible as map state but not the dominant workflow.

Failure states:

Abandoned workflow:

If the user leaves after scanning the map but before selecting, no state write-back occurs. On return, the tracker rescans canonical files and labels scan freshness. Any remembered selected node must be visually subordinate to the current map state.

Navigation is map-centered.

Primary navigation:

Secondary navigation:

A global side nav is optional. If a shell exists later, the map remains the first meaningful screen for this variation.

Screen-By-Screen Layout

Screen 1: Loading / Map Scan

Purpose: communicate that the tracker is reading repo-local source files and preparing a source-derived branch-state map.

Regions:

Key behavior:

Screen 2: Portfolio Map

Purpose: let the operator understand the whole branch landscape.

Regions:

Key behavior:

Screen 3: Active And Parallel Neighborhood

Purpose: show active paths beside nearby context.

Regions:

Key behavior:

Screen 4: Boundary And Context Groups

Purpose: explain why non-active branches exist without turning them into active routes.

Regions:

Key behavior:

Screen 5: Selected Node Preview

Purpose: confirm selected map node and available route.

Regions:

Key behavior:

Screen 6: Empty / No-AFPS Map

Purpose: avoid fabricated map structure when source evidence does not support it.

Regions:

Screen 7: Blocked Map State

Purpose: preserve map context while preventing false confidence.

Regions:

Key Components And Controls

Components:

Controls:

Avoid:

Primary button: `Continue to verify path`.

Enabled when:

Disabled or replaced when:

Secondary links:

Links must preserve source paths, warning IDs, selected path ID, node state, boundary kind, trust level, parser confidence, source confidence, relationship caveats, and diagnostic refs.

Spatial Density, Sizing, And Hierarchy

Density: comfortable to medium.

Hierarchy:

  1. Map legend and source-health strip.
  2. Active lane or region.
  3. Parallel/context lane.
  4. Boundary, promoted, unresolved, and blocked regions.
  5. Selected-node detail.
  6. Secondary diagnostics/source actions.

The desktop layout can use horizontal lanes, a grouped board, or a compact map grid. It should avoid oversized cards and decorative canvas complexity. Nodes need stable dimensions so labels, badges, and warning states do not resize the map unpredictably.

The visual feel should be source-aware and spatial, but still utilitarian. The map is for comprehension and selection, not project management.

Responsive Behavior

Desktop:

Tablet:

Mobile:

Visual Tone

Tone: spatial, calm, source-native, and explanatory.

The page should make branch-state complexity feel organized without implying that AFPS Tracker owns or edits branch state. Active paths should feel selectable. Boundary and unresolved paths should feel intentionally present but clearly non-active.

Avoid decorative node graphs, heavy gradients, cartoonish boards, generic kanban status movement, and visual affordances that imply drag/drop workflow editing. Use direct labels, badges, and source caveats.

Strengths

Risks And Failure Modes

Mitigations:

Implementation Complexity

Estimated complexity: medium to high.

Reasons:

Implementation-sensitive areas:

What UI Review Should Validate First

UI review should validate whether spatial grouping improves portfolio comprehension without slowing active path selection too much.

Priority validation questions:

User Signal For UI Interview Readiness

This branch is ready for `$ui-interview` if a reviewer agrees that AFPS Tracker should lead orientation with spatial portfolio comprehension: the user needs to see active and non-active branch neighborhoods before selecting a path.

Strong positive signal:

Negative signal:

Future Experiment Target

If this variation later receives UI approval, a future experiment route could be named `/experiments/portfolio-map-grouping`. Default progression-mode rules still apply: no prototype buildout or route implementation should be written from this UX variation alone before an approved `$ui-interview` branch exists.

Command/Resume-First Orientation Full Intermediate Spec

design/afps-tracker/ux-variations-uf-orient-portfolio/command-resume-first-orientation.md

Artifact metadata
skill: ux-variations
topic: uf-orient-portfolio
product_path: research/afps-tracker
parent_flow_branch: uf-orient-portfolio
variation_id: command-resume-first-orientation
status: intermediate
source_command: "$ux-variations uf-orient-portfolio"
brief: design/afps-tracker/_working/ux-variations-uf-orient-portfolio-brief.md
flow_tree: design/afps-tracker/flow-tree-afps-tracker.yaml
user_flow: design/afps-tracker/user-flow-afps-tracker.md
domain_model: design/afps-tracker/domain-model-afps-tracker.md
model_tree: design/afps-tracker/model-tree-afps-tracker.yaml

Command/Resume-First Orientation

Design Thesis

Command/Resume-First Orientation starts from the operator's immediate return question: what can I safely do next, and why? The operator should open AFPS Tracker and first see a provisional resume answer, suppressed-command reason, or branch-state explanation, then inspect the supporting portfolio paths and source warnings before selecting a path.

The variation treats orientation as continuity restoration. It assumes the operator or a follow-on agent is returning after context loss, compaction, handoff, or a direct "what next?" prompt and needs a source-caveated next-work posture without reading the raw AFPS files first.

This branch does not make final handoff/export primary. It previews next-work eligibility inside orientation and routes the operator to selected-path verification, diagnostics recovery, boundary explanation, or the later `uf-handoff-resume` branch when they need a copyable final handoff.

Target User Fit

Best fit: AFPS operator, future self, or agent session that needs to resume a research workflow quickly while preserving source-trust caveats.

Usage context:

Poor fit:

Parent Flow And Branch Relationship

Parent user-flow branch: `uf-orient-portfolio`.

Branch boundary: open tracker, scan portfolio, understand active and parallel paths, and select a path for deeper inspection. This variation changes the first object of attention from path list, source-health console, recovery triage, or map topology to a provisional next-work posture. It must not absorb selected-path verification, evidence/provenance inspection, diagnostics recovery, export/handoff finalization, or inactive/promoted boundary explanation.

Logical substrate preserved:

Page And Flow Changes

This variation makes a `Resume Answer` or `Command Posture` module the dominant first surface inside the portfolio overview. It still shows active and parallel paths, but those paths are organized around the immediate resume question: clean next work, warning next work, ambiguous multiple paths, blocked, boundary-only, or no safe command.

Primary flow:

  1. Open AFPS Tracker on an existing repository or from a resume prompt.
  2. See a provisional resume card that states the safest current next-work posture.
  3. Review why that posture exists: selected/eligible path, competing active paths, warnings, blocked reasons, route suppression, or boundary status.
  4. Select or confirm a product path from the supporting path list.
  5. Continue to selected-path verification, diagnostics recovery, boundary explanation, or later handoff generation based on the selected path state.

Secondary paths:

Progression Model

Progression is resume-answer-first and evidence-of-eligibility-second.

The user advances by reading the current next-work posture, understanding why the posture is clean, warning-level, blocked, ambiguous, or explanatory, then choosing the path or recovery route that makes the posture actionable. The UI does not require scanning the entire portfolio first, but it must keep supporting path state and source warnings visible enough to prevent blind command trust.

How this differs from sibling concepts:

Completion criteria:

Onboarding And Activation Model

First-run onboarding is phrased as resume continuity.

Initial frame:

Activation moment:

The operator reaches first value when they know what they can safely inspect next, why any command-like action is available or suppressed, and which path to select for verification.

The page should avoid tutorial copy. The resume answer, suppression reason, path chips, warning labels, and primary action state should make the model obvious.

Typical Workflow Sequence

  1. Repository scan begins with `ScanPortfolio`.
  2. Resume card resolves into one of several postures: clean inspectable path, warning inspectable path, multiple active paths, blocked, boundary-only, empty/no-AFPS state, or out-of-scope request.
  3. Supporting path chips or rows show active candidates, parallel paths, unresolved refs, and boundary/context paths.
  4. The operator selects the path connected to the posture or chooses a different candidate.
  5. A path-linked resume explanation updates with trust level, next skill, suppression reason, warnings, and diagnostic refs.
  6. The primary action routes to selected-path verification for active/warning paths, diagnostics recovery for blocked state, or boundary explanation for inactive/promoted/out-of-scope state.
  7. A final handoff/copy affordance remains absent or disabled until later verification/handoff branches make it safe.

Sharing, Collaboration, And Permissions Model

This variation assumes solo evaluator and agent-resume use. It does not introduce accounts, comments, invitations, review assignments, collaborative status, or role permissions.

Share-like behavior is represented only as provisional handoff readiness:

Permission-denied source reads directly affect resume posture. If an inaccessible file supports the selected path's next skill, the card must show blocked or warning state instead of clean continuity.

Return-Use And Notification Model

Return use is the primary case.

Re-entry triggers:

The page does not use notifications. It relies on scan freshness, source status, last touched values, and explicit posture labels. If prior resume state is remembered by a later implementation, it must be marked as prior and replaced by the current source read once the scan completes.

Failure Recovery And Abandoned-Workflow Behavior

Recovery is expressed as route suppression and next-step posture.

Failure states:

Abandoned workflow:

If the user leaves after reading the resume card but before selecting, no state write-back occurs. On return, the tracker rescans canonical files. Any previously selected or suggested path must be visually subordinate to fresh source state.

Navigation is command-posture-centered.

Primary navigation:

Secondary navigation:

A global side nav is optional. If present later, the resume answer remains the first meaningful object on the overview.

Screen-By-Screen Layout

Screen 1: Loading / Resume Check

Purpose: communicate that AFPS Tracker is reading repo-local sources to determine safe resume posture.

Regions:

Key behavior:

Screen 2: Resume Answer Card

Purpose: answer what can safely happen next before the operator scans every path.

Regions:

Key behavior:

Screen 3: Supporting Path Candidates

Purpose: show the portfolio evidence behind the resume card.

Regions:

Row content:

Key behavior:

Screen 4: Selected Candidate Resume Explanation

Purpose: connect a selected path to its safe or suppressed next-work posture.

Regions:

Key behavior:

Screen 5: Blocked Or Ambiguous Resume State

Purpose: prevent false continuity when the next action is not safe.

Regions:

Key behavior:

Key Components And Controls

Disabled-state rules:

Spatial Density, Sizing, And Hierarchy

Density: medium and focused.

Hierarchy:

  1. Resume Answer card.
  2. Trust and suppression reason.
  3. Supporting path candidates.
  4. Expanded portfolio context.
  5. Secondary source/provenance/diagnostic links.

Layout guidance:

Responsive Behavior

Desktop:

Tablet:

Mobile:

Visual Tone

The tone should feel like a calm operator console for source-backed continuity.

Desired qualities:

Avoid:

Strengths, Risks, And Failure Modes

Strengths:

Risks:

Failure modes:

Implementation Complexity

Estimated complexity: medium.

Drivers:

Lower-cost prototype path:

What UI Review Should Validate First

UI review should validate whether the first screen communicates provisional next-work continuity without overpromising a final command.

Specific review targets:

User Signal For `$ui-interview` Readiness

This branch is ready for `$ui-interview` when a solo evaluator can review the spec and agree that:

Recommended downstream UI branch label: `ui-command-resume-first-orientation`.

Approval Gates

UX variation plan
Interview log
Flow-tree UX branches
Recommended next branch

Compile Responses

Answer the gates above, then compile and paste the YAML back into the agent. Partial responses are allowed for revision requests.