Skip to content

Latest commit

 

History

History
99 lines (80 loc) · 15.9 KB

INTERACTION-REVIEW-2026-10.md

File metadata and controls

99 lines (80 loc) · 15.9 KB

Product interaction review — October 2026

English · 简体中文

Reviewed 2026-10-23. This is a dated architecture/design review and implementation routing map, not a visual certification or a second product specification. Product contracts and linked issues remain the owners. Read this together with PRODUCT-STANDARD and each repository's current AGENTS before the next relevant slice; do not overwrite later fixes with this snapshot.

Evidence and limits

All 25 repositories were exported from pinned default-branch commits into isolated review directories. Review covered product positioning, design/acceptance documents and representative native/shared-web interaction code, with 63 checked source anchors. It is not a line-by-line audit of every file. Existing open issues/PRs were inspected to retain active ownership and avoid duplicating existing queues.

The live Racket book preface was additionally inspected: desktop part-navigation buttons had no aria-expanded/aria-controls. A checked-in PodLens screenshot was viewed as historical reference only; it predates current markup. No application was run against real personal data, keys, payments, publishing accounts or hardware. No new three-desktop native validation or comprehensive screen-reader/visual audit was performed. Source-confirmed missing error paths and unguarded requests are distinguished from proposed failure-injection reproductions. No product is declared fully compliant from documentation or a green build alone.

Decisions

  • Retain the shared backend/native-host architecture. Do not approve portfolio-wide rewrites, framework migrations or matching pixels as a remedy for missing user workflows.
  • FlashPilot needs a bounded bench/plan-verification workflow before a wider execution UI; Autarx needs reliable search/selection/reference navigation; MoveBit needs user control and recovery in its default interruption model.
  • Retain the useful task/list, reader, launcher, podcast and regex structures. Fix draft lifetime, persisted results, asynchronous identity, keyboard reachability and failure recovery before expanding features.
  • Publy and gPTP have misleading old implementation instructions. Correct those entry points while leaving runtime qualification pending.
  • Paused products receive a clear recovery/implementation entry. This review does not restart all roadmaps or authorize new ports.

The review uses purpose, user agency, familiar native behavior and adaptability as decision tools, drawing on Apple design principles, Windows design/accessibility guidance and GNOME simplicity and user-effort principles. Each product must decide its actual tradeoffs; Mac chrome, blur, fonts or permanent three-column layouts are not mandatory portfolio patterns.

Whole-portfolio matrix

P1 means the issue should precede related feature expansion or public-readiness claims; P2 is a bounded maintenance/developer-experience follow-up. It does not imply that every product is currently staffed. See each linked issue for observation versus runtime-proof status, decisions and exact acceptance tasks.

Product Review judgment / next bounded outcome Priority Owner
FlashPilot turn the desktop RPC probe into a bounded bench and plan-verification workflow P1 #7
Autarx complete the inspect-and-trace loop with keyboard selection and stable inspector identity P1 #23
MoveBit make forced breaks opt-in and provide immediate accessible recovery P1 #49
Payback preserve the device draft until asynchronous save succeeds P1 #24
HackDigest make story failures recoverable and primary navigation keyboard accessible P1 #4
Threadly bind topic loading and recovery to the selected thread identity P1 #2
Keyward make storage and copy consequences visible at the point of action P1 #3
Taskly reconcile the product contract before adding interaction features P1 #58
Booklight expose annotation persistence failures and preserve recovery P1 #20
Fulcrum retain the interaction grammar and qualify compact/native behavior P1 #36
PodLens define a compact listening layout and an operable transcript seek path P1 #14
RegexMate give match inspection one keyboard-accessible cross-platform meaning P1 #5
gPTP Studio align the GTK session workflow and acceptance checklist with the actual product P1 #40
Publy make preview, draft delivery and public publishing distinct product states P1 #7
SyncPilot preserve the small daemon handoff and verify escape/recovery paths P2 #10
RelayPilot keep the first desktop decision task bounded P2 #1
Rivet validate native interaction recipes using the audited consumer failures P1 #314
Glaze qualify shared-web interaction through a real consumer recovery task P1 #76
Keel retain the small contract library and validate developer onboarding P2 existing #6
Permit retain the verifier/policy boundary and test explanation in real products P2 No new issue / 不新增
Commerce prove the user-facing unknown-payment and claim-recovery contract in the consumer P1 #4
jrtx.site keep product discovery grounded in a verified user outcome P2 #2
Pitboard make search-index failure distinct from no results P2 #1
Racket Programming make the table of contents accessible across viewport changes P2 #8
Yinwang Archive finish search and image-overlay focus semantics P2 #5

First implementation slices

  1. Preserve active writers. Payback's save-failure/draft case is a focused first fix after its current slice; keep date/currency correctness and legacy-gate removal in their existing owners. Taskly reconciles its current edit/undo contract before adding task taxonomy. Rivet validates the taskboard and one consumer journey.
  2. On resuming paused work, correct MoveBit's strong-mode default/escape and HackDigest's failure/keyboard loop; finish Booklight annotation durability and Keyward secret-copy clarity. Autarx/Threadly need identity-safe details rather than another navigation layer.
  3. FlashPilot desktop remains a labelled validation preview until its first plan workflow and operation boundaries are qualified. gPTP stays Linux-only and preserves real hardware gates. Publy stays draft-first with a separate controlled hosted pilot.
  4. Use at least two real consumers to justify upstream mechanisms. Draft retention and request/selection identity are candidate recipes, not a mandate for a new Rivet form engine, selector language or Glaze workflow framework.

Concrete document corrections

Nine new UX issues and fourteen existing issue updates carry the substantive review. Eight existing product handoff issues additionally link to the new UX task. RegexMate's prior licensing issue is closed and was not reopened; its new interaction issue is routed here. Do not close implementation issues just because their design documentation was merged. Existing conversations must refresh at the next slice; links are not acknowledgement or completion.

Source snapshots and evidence

Each source link pins the reviewed commit. Newer default branches and open PRs must be checked before implementation. No user-specific infrastructure/identity information is required by this review.

Repository Source commit Representative evidence
flashpilot 1a1dd5f macos-host/Sources/RivetHost/ContentView.swift:9
autarx adba6f3 macos-host/Sources/RivetHost/MainWindowView.swift:92
movebit d8501f6 racket/movebit/config.rkt:42
payback 8eeef0a macos-host/Sources/RivetHost/DeviceForm.swift:320
hackdigest c5912a5 apps/desktop/src/components/StoryDetail.tsx:62
threadly c866ccf macos-host/Sources/RivetHost/ThreadlyStore.swift:353
keyward 185637d macos-host/Sources/RivetHost/ContentView.swift:63
taskly bf5b942 shared/spec/PRODUCT-SPEC.md:102
booklight 3b016a5 macos-host/Sources/RivetHost/ReaderModel.swift:346
fulcrum bdc5ca6 docs/cross-platform-interaction.md:7
podlens 670d265 docs/DESIGN-ROADMAP.md:55
regexmate 6b15629 macos-host/Sources/RivetHost/ContentView.swift:127
gptp-studio ba499fd docs/ux-acceptance.md:3
publy 01143ce docs/design.md:3
syncpilot ec72a25 linux/src/main.cpp:459
relaypilot 1e96d78 PRODUCT.md:11
rivet 1ced9e9 docs/agent-native.md:227
glaze 4156dca docs/USING.md:5
keel 6fc1ba5 docs/USING.md:7
permit ed32d0e docs/USING.md:15
commerce 11fd533 docs/USING.md:7
turinglambdaai.github.io d32f840 index.html:143
pitboard 5797032 assets/app.js:313
racket-programming 9949185 components/BookHeader.tsx:15
yinwang-archive 1fc6bd7 yinwang-archive/site.rkt:130