Skip to content

[Devbook drift] .devbook/domain/sessions/features.md#session-inventory #878

Closed

Description

@JSdotNet

Scheduled Devbook verify run, 2026-09-30 (devbook:verify-change, kind feature).

Chapter Counterpart Resolved via Verdict
.devbook/domain/sessions/features.md#session-inventory SessionsPane in src/Modules/Sessions/Backlog.Modules.Sessions.UI/SessionsPane.razor; AgentSession, AgentSessionView(s), AgentSessionEnvironments in src/Modules/Sessions/Backlog.Modules.Sessions.Abstractions/Sessions.cs; SessionSyncWorker in src/Infrastructure/Backlog.Infrastructure.Sync/Sessions/SessionSyncWorker.cs term alias (AgentSession, AgentSessionView, SessionRow, environment_id) conflict

Evidence: Sub-feature Sessions from another machine says session records sync behind "a switch of its own ... separately from anything else that syncs"; SessionSyncWorker.ShouldRun gates on SyncFeatures.Sync alone (line 273), the one key that also syncs tasks, and AppFeatures.cs folds session-sync into sync as a FormerKeys entry. Everything else matches: _view = AgentSessionView.Live reset per pane (SessionsPaneTests.Live_is_the_view_the_pane_opens_in, Reopening_the_pane_opens_on_live_again), Live = Running or Stalled (AgentSessionViews.IsLive, A_stalled_session_is_live_because_silence_is_not_an_ending), resolved repository marked and titled (RepositoryTitle, A_recorded_repository_is_shown_over_a_placed_one_and_either_scopes), PRs/tokens/entrypoint (Tokens_are_output_and_input_..., The_entrypoint_is_a_quiet_badge_beside_the_type), recorded rows + Update records (A_recorded_row_says_it_comes_from_the_saved_record_and_keeps_its_folder, Update_records_amends_everything_and_says_what_it_did), no polling (only RefreshAsync re-reads). The code also carries things the chapter does not: see below.

Detail

  • The chapter (Sessions from another machine) says session records sync behind "a switch of its own, and it starts off", switched on separately from anything else that syncs.
  • The code has one switch. SessionSyncWorker.ShouldRun => _features.IsEnabled(SyncFeatures.Sync) (src/Infrastructure/Backlog.Infrastructure.Sync/Sessions/SessionSyncWorker.cs:273). AppFeatures.cs lists FormerKeys: ["device-pairing", "task-sync", "session-sync"] on sync, so tasks and session records go together.
  • Side finding: the user-facing sync description in AppFeatures.cs says a session's title never travels. SessionRecordMapping.cs:93 does send it (Cut(session.Title, ...)), and the chapter agrees with the code. The UI string is wrong.
  • Code-ahead parts the chapter lacks: the Machine filter (AgentSessionEnvironments.On; SessionsPaneTests.Choosing_an_environment_keeps_only_its_rows_and_says_how_many_of_how_many), and opening the pane on a session a task names, which widens the filters (FocusSessionId, RevealFocused; A_session_a_task_asks_for_is_shown_marked_and_focused_even_when_live_hides_it, HomeWorkspaceSurfaceTests.Opening_a_session_from_a_task_shows_the_sessions_surface_on_that_session).
  • Wording: the chapter says a missing repository reads "not recorded". The pane renders an em dash (Or(), Missing = "—"; What_an_agent_did_not_record_is_an_em_dash).
  • Question: should session-record sync be its own switch, as the chapter says, or is the single sync switch (see the SyncFeatures.Sync rationale) the agreed model, so the chapter should change?

Action: a person decides which side is the model: the chapter (then the code is a defect, for apply-change) or the code (then the chapter is stale, for capture-specs). The question is under Detail above.

Read-only: nothing was run or written. The chapter carries no draft or proposed status, and no open pull request or change names it.

Activity

  1. added
    devbook-driftA devbook chapter and its code have drifted apart
    automatedOpened by an unattended scheduled run
    documentationImprovements or additions to documentation
    triagedClassified by the issue sweep
    in-progressA worker session is actively working this issue
    on Sep 30, 2026
  2. self-assigned this
    on Oct 5, 2026
  3. JSdotNet commented on Oct 5, 2026

    @JSdotNet
    OwnerAuthor

    The issue sweep (2026-10-05) opened draft #987. Read its What could not be proved section before marking it ready.

  4. removed
    in-progressA worker session is actively working this issue
    on Oct 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

automatedOpened by an unattended scheduled rundevbook-driftA devbook chapter and its code have drifted apartdocumentationImprovements or additions to documentationtriagedClassified by the issue sweep

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions