Skip to content

docs(research): add Research Edition page for researchers - #186

Merged
ErikBjare merged 8 commits into
ActivityWatch:masterfrom
TimeToBuildBob:bob/research-edition-docs
Sep 29, 2026
Merged

ErikBjare merged 8 commits into
ActivityWatch:masterfrom
TimeToBuildBob:bob/research-edition-docs

Conversation

@TimeToBuildBob

Copy link
Copy Markdown
Contributor

Summary

Adds src/research/research-edition.rst, a researcher-facing page for the Research Edition, at the top of the existing Research section toctree (the section, participant instructions and Android instructions already exist). Also fixes two research/index.rst bullets that overstated things: "Category-only collection" (app names are kept in the current build) and "plus Android" (Android has no filter or release yet).

Final URL once deployed: https://docs.activitywatch.net/en/latest/research/research-edition.html

Companion blog post: ActivityWatch/activitywatch.github.io#73. Merge this PR first, then the post, so its docs link does not 404.

Verified

  • Filter behaviour (longest-match category map, URL first then title, excluded, titles/URLs dropped before storage, non-browser titles dropped, optional research_app_category_map, Excluded for unmapped apps): aw_watcher_window/research_filter.py and config.py.
  • App names retained in the current build (release build no longer injects the app map): brain notes on the app-name data contract and the b5 smoke test.
  • Hostname rewritten to research-participant on export; export refuses unfiltered data: existing participant instructions and b5 hostname proof.
  • Port 5667, separate data folder, badge: b5 smoke test and existing participant instructions.
  • v0.14.0b5-research is the latest desktop research prerelease; Android research flavor (net.activitywatch.android.research, 5667): aw-android/mobile/build.gradle. No -research Android release exists.
  • aw-import-screentime requirements: its README.
  • Builds cleanly in a minimal Sphinx setup (the full site build was not run locally: missing extensions).

Please double-check (Erik)

  1. Contact address [email protected] is unverified: it is the email on your public GitHub profile.
  2. "iPhone and iPad: Planned" and "the research filter does not apply to that data path yet" come from internal task notes, not from the importer's code.
  3. "A variant is mostly a category map, a tagged build, and a participant guide" is my synthesis of the pipeline, not documented elsewhere.
  4. The existing Android participant instructions describe a sideload install, but no Android -research release is published; my page says so. Confirm that is the intended wording.
  5. I did not add data-size estimates (brain notes have an unmeasured 1-5 MB per participant-week figure).

@greptile-apps

greptile-apps Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[Low risk] Adds documentation page for research study edition.

The PR appears safe to merge, though the export description should distinguish non-browser events from categorized browser events.

Findings

  1. P2 Non-browser categories overstated ▶

Summary

The PR adds a researcher-facing Research Edition page, links it from the Research section, and corrects the section’s platform and collection claims. The revised data-size section now identifies timestamps, durations, and retained application names, but overstates which window events have a study category.

Reviews (5) · Last reviewed commit: "docs(research): describe export as filte..."

Comment thread src/research/research-edition.rst Outdated
Comment thread src/research/research-edition.rst Outdated
Scope the no-titles/URLs claim to aw-watcher-window and warn that extra
watchers can still store URLs. Distinguish the browser category map from
the optional research_app_category_map, which is what actually hides
unmapped app names.

Git-Session-Id: fd976f58-24ed-5526-8cd7-235d83bc0a3d
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

@greptileai review

Comment thread src/research/research-edition.rst Outdated
The 1-5 MB per participant-week figure had no measurement. Extra watchers
also grow the JSON export, so a published range would mislead storage and
upload planning. Point studies at a pilot-week measurement instead.

Git-Session-Id: 24cde253-57d2-5213-b103-f7669205f12d
@TimeToBuildBob

TimeToBuildBob commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor Author

🤖 AI code review

Safe to merge — no P0/P1 findings

Confidence 5/5

✅ No findings. The diff looks correct to me on this pass.

Previous review passes
commit score findings engine when
11641d2e33c9 5/5 0 llm 2026-09-29 18:59 UTC
0e86df5c730d 5/5 0 llm 2026-09-29 19:05 UTC

Reviewed dfdc188347ae · openrouter/deepseek/deepseek-v4-flash-0731 · llm (in-band) engine · 19s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

@greptileai review

Comment thread src/research/research-edition.rst Outdated
A sibling restore put the unmeasured 1-5 MB figure back. Greptile's P2 is
that researchers must not plan storage around an unpublished measurement.
Keep the extra-watcher caveat and the pilot-week measurement guidance.

Git-Session-Id: 24cde253-57d2-5213-b103-f7669205f12d
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

@greptileai review

Greptile P2: "mostly short category strings" understated the all-bucket
JSON. Name the actual contents — filtered window events and AFK events,
each with timestamp and duration, window events keeping app names and
study categories — and keep the extra-watcher caveat plus the
pilot-week measurement line.

Git-Session-Id: d5e38c4c-8308-564d-8a10-cb3ae24c26d6
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

@greptileai review

Comment on lines +63 to +64
has a timestamp and duration; window events keep the application name and the
study category, with titles and URLs already dropped. Extra watchers connected

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Non-browser categories overstated. The default export also includes non-browser window events. As the page explains above, those retain application names without a study category unless the optional app-category map is configured. Saying that window events keep both an application name and a study category could lead researchers to expect a category for every window event.

Suggested change
has a timestamp and duration; window events keep the application name and the
study category, with titles and URLs already dropped. Extra watchers connected
has a timestamp and duration; window events keep the application name by
default. Browser window events also keep the study category, with titles and
URLs already dropped. Extra watchers connected

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@ErikBjare
ErikBjare merged commit 603ff77 into ActivityWatch:master Sep 29, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants