Skip to content

feat(dashboard): profile reading and exact handoff Markdown export - #1630

Merged
Teingi merged 6 commits into
masterfrom
codex/dashboard-profile-handoff-implementation
Sep 17, 2026
Merged

Teingi merged 6 commits into
masterfrom
codex/dashboard-profile-handoff-implementation

Conversation

@Zxf-xufeng

Copy link
Copy Markdown
Member

Which issue or RFC does this PR close?

Implements the proposal in #1629. Both branches start independently from master at 534460e068ef733ec22a672b838734635fa1677e.

Rationale for this change

Dashboard already has Prompts and Topic Memory. Users still need to read saved Profiles and export the precise Handoff revision they are viewing, including after a newer revision is committed.

What changes are included in this PR?

  • Add a read-only Profile page with safe Markdown, exact revision history, generation metadata, and revision-bound source reading through existing authorized APIs.
  • Add native Markdown downloads to Handoff collection entries and details. Exports preserve full content, omissions, precise citations, direct references, and the stored content digest; output is deterministic UTF-8 with a 10 MiB limit.
  • Preserve validated collection return URLs and recover the exact reading page after sign-in. Downloads require a second explicit click after authentication.
  • Add bilingual usage guidance, regression tests, and browser checks for Profile history, actual downloads, and authentication recovery.
  • Declare the MIT-licensed markdown-it-py dependency in the server extra.

Are there any user-facing changes?

Profile appears in Dashboard navigation. Handoff entries and details expose Export Markdown. Existing Prompt and Topic Memory pages, public /v1 contracts, persisted schemas, and Handoff Report selection/digest behavior remain compatible. Dashboard stays opt-in under its existing static-token configuration.

How was this change tested?

Tests used temporary databases and an isolated POWERCONTEXT_HOME with inherited service settings cleared.

  • make check and final uv run prek run -a.
  • 159 passing tests across Dashboard, Markdown, Server, authorization/access, Handoff Report, and Profile API, including tests/e2e/test_access_control_http.py and tests/e2e/test_profile_api.py.
  • After final template changes: python -m pytest -q tests/test_dashboard.py tests/test_dashboard_profile_handoff.py tests/test_dashboard_markdown.py — 37 passed.
  • make docs-test — verified 806 exported public pages.
  • Extended scripts/dashboard_browser.cjs against an isolated running server — 24 scope-page visits and 9 responsive page types, actual attachment downloads, exact post-login return, source reading, navigation, locales, and themes.
  • Final Chromium inspection at 320/768/1536 px in both languages and themes, Profile 200% zoom, and keyboard source-modal operation.

The paginated Handoff return test supplies a two-page collection response while retaining real exact-record reads and authorization, because new Handoff writes use the current singleton identity. Browser acceptance exercises the real collection available in the test server.

AI usage statement

Implemented and validated with OpenAI Codex, including code, documentation, regression tests, and browser automation. Maintainer review is requested through this draft PR.

@Zxf-xufeng
Zxf-xufeng requested review from PsiACE and Teingi September 17, 2026 09:55
@Zxf-xufeng
Zxf-xufeng marked this pull request as ready for review September 17, 2026 09:55

@Teingi Teingi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@Teingi
Teingi merged commit 6ffc526 into master Sep 17, 2026
24 of 25 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