Recording Analysis in the Notebook¶
The Notebook is a persistent workspace where you record findings, track analysis goals, and build a structured knowledge base about the binary you are examining. Notebook entries are accessible from the Sidekick Resources sidebar and persist across sessions in Sidekick's workspace database, not the Binary Ninja database (see Persistence).
The Notebook is organized around entries. Each entry represents a distinct analysis goal or line of inquiry. Within an entry you can record:
- TaskItems — specific steps you plan to take or are tracking
- Outcomes — findings and artifacts you have discovered while pursuing the entry
- Blockers — requests for outside input that Sidekick cannot resolve itself
Entries can also carry analysis_context: structured intermediate analysis state used by Sidekick tools, agents, and scripts. It is separate from outcomes and blockers, and it is not currently shown in the Resources UI.
Sidekick reads the Notebook as context when responding to your messages in Chat, and automatically updates its understanding of your analysis as you record findings and complete entries.

Opening the Notebook¶
The Notebook lives in Sidekick Resources. See Browsing Workspace Resources for an overview of the sidebar's browse list and detail layout, search, and shared context-menu actions.
In the browse list, each notebook row shows the entry description and counts of its findings, artifacts, open blockers, and dependencies. Selecting a notebook entry shows its full detail in Resources — header, SUMMARY (for closed entries), BLOCKERS and TASKS (only when present), OUTCOMES, and references.
Code references inside the entry detail (addresses and symbols in outcome prose, and the REFERENCES chips) navigate Binary Ninja to the referenced code location.

Session Briefing¶
The Session Briefing is Sidekick's rolling case file for the current workspace. Open it from the Memory tab of a workspace in the Sidekick tab: choose Plugins > Sidekick > Open Sidekick, select the workspace, then click Memory.
The briefing view is organized into up to seven sections; empty sections are hidden:
- Goal — the durable analysis mission
- Status — how complete the goal is in plain language
- Needs Your Input — open blockers, stating what Sidekick needs from you
- Key Findings — the durable conclusions the next analyst must know
- Current Focus — active work or current attention, when any
- Open Questions — critical unresolved issues, when any
- Wayfinding — binary/system landmarks, functions, flows, sinks, and data sources
Source links appear inline on the findings and wayfinding bullets they support when the briefing actor can cite notebook entries or outcomes.
Creating Entries¶
Notebook entries are created by Sidekick as it works. Ask in Chat (for example, "Track the authentication flow as a notebook entry" or "Add a task to check all callers of validate_token") and Sidekick records the entry, tasks, and outcomes with provenance. The Resources sidebar has no input box for creating entries.
Managing Entries¶
Viewing an entry¶
Select an entry in the browse list to show its detail in Resources. In a narrow sidebar, double-click the entry, press Enter, or choose Show Details from its context menu. The detail shows:
- The entry description (double-click to edit inline)
- A count line such as
4 verifiedor2 verified · 1 draft(no outcomeswhen the entry has none) - Entry provenance edge lines — a chat icon links the thread that created the entry and, if a different thread touched it later, a second chat icon links the most recent one (hover an icon for its meaning)
- A
depends onedge line (link icon) linking the entries this one depends on (shown only when dependencies exist) - A SUMMARY section (for closed entries that have a summary), followed by BLOCKERS and TASKS (each only when present) and OUTCOMES
Renaming an entry¶
Double-click the entry description in the detail view to edit it inline; press Enter or click away to save. Notebook entries do not have a Rename item in the right-click menu.
Searching entries¶
Type in the search box at the top of the browse list. Search matches against the entry description, status, relevant domains, task descriptions, and outcome titles and descriptions. A deeper content search also looks inside the entry's text.

Closing an entry¶
Sidekick closes an entry when it finishes a line of work, recording a resolution (Completed, Partially completed, Infeasible, or Deferred) and an optional summary. The summary appears in the SUMMARY section of the entry detail. There is no right-click action to complete, abandon, or reactivate an entry; ask Chat to do so.
Deleting an entry¶
Right-click an entry and choose Delete; Sidekick asks "Delete '
Working with Tasks¶
TaskItems are specific steps tracked within an entry. They appear in the Tasks section of the detail view; entries without tasks omit the section.
Adding a task¶
Ask in Chat (for example, "Add a task to check all callers of validate_token") and Sidekick adds it as a task on the entry. Adding a task is how you steer the work: describe the result you want and a thread that picks it up will record the outcome with full provenance.
Cycling task status¶
Each task has a clickable status icon. Click it to cycle the task through pending, in_progress, and completed, then back to pending.
| Icon | Status |
|---|---|
| Gray square | pending |
| Yellow dotted square | in_progress |
| Green checked square | completed |
| Red crossed square | blocked |
A blocked status is set by Sidekick, not by clicking. Clicking a blocked task returns it to pending. Completed and blocked tasks are dimmed. When all of an entry's tasks are completed, they fold into a single "N completed tasks" row; click it to expand.
Removing a task¶
Hover over a task, click the trash button on the right, and click Remove Task in the confirmation.
Working with Outcomes¶
Outcomes capture knowledge discovered while pursuing an entry. Each outcome has a kind, a title, an optional description, a confidence score, a status lifecycle, and thread-level provenance for creation and validation.
Outcome kinds¶
| Kind | Purpose |
|---|---|
finding |
A reusable, anchored fact about the binary (for example, "Function at 0x401000 uses XOR encryption") |
artifact |
A concrete deliverable produced by the work — YARA signature, report, proof-of-concept, generated script |
Blockers¶
A blocker records something Sidekick needs from you before it can continue, such as a missing file or a decision. Blockers are separate from outcomes and appear in their own BLOCKERS section above TASKS. Open blockers show a Needs: ... line; resolved or withdrawn blockers show Resolved: ... or Withdrawn: ... with the recorded resolution. Sidekick creates and resolves blockers; answer them in Chat.
How outcomes are created¶
Outcomes are produced by Sidekick threads, not entered by hand — each one carries provenance (the thread that created it, the threads that validated or contested it) and a confidence score that only make sense for agent-produced claims. To steer the work toward a result you want, add a task describing the desired outcome (for example, "determine whether the blob at 0xa640c is encrypted"); the thread that completes it records the resulting outcome with full provenance.
Outcome status lifecycle¶
Outcomes move through a status lifecycle:
draft— initial state on creationverified— confirmed and in use; can be moved back todraftif the outcome needs to be reopened for reviewrejected— determined to be invalid or withdrawn (requires a reason); this is final, and a rejected outcome cannot be moved back todraftorverified
Rejecting an outcome does not automatically reject outcomes that link to it. When the Notebook Validation actor rejects an outcome, it also rejects the outcomes in the same entry that link to it.
Outcome status transitions are made automatically by Sidekick, mainly by the Notebook Validation actor. Each outcome is a card. The collapsed card shows a kind icon (flag for findings, box for artifacts), the title, and a status line — ✓ verified, △ draft, or × rejected — followed by icons for the chat that created the outcome and its validation threads (hover an icon for its meaning). Click the title to expand the card and see its description, any artifact file details, a contested by line for rejected outcomes, and REFERENCES chips. Rejected titles are struck through.
Removing an outcome¶
Hover over an outcome card, click the × at its top right, and click Remove Outcome in the confirmation.
Outcome provenance¶
Outcomes track thread-level provenance:
- The Chat thread that created the outcome, when known.
- The validation threads that have checked that specific outcome.
- The threads that rejected the outcome (contested it), when known.
These appear on the card's status line as small icons: a chat icon for the thread that created the outcome and a shield icon for the validating threads (hover for the meaning). A rejected outcome shows a red ✗ contested by line with the contesting thread and the rejection rationale in the expanded card; if a previously contested outcome is later re-verified, its contested line remains as a struck-through audit trail. Referenced functions and types appear as chips under a REFERENCES (N) label. The expand all / collapse all toggle in the OUTCOMES header expands or collapses every card.

Analysis Context¶
Notebook entries may also store analysis_context: durable, machine-readable intermediate state such as scope blocks, candidate lists, partition rules, or coverage manifests. This data is meant for tooling and automation rather than for direct human browsing in the sidebar.
Use analysis_context when Sidekick or a script needs to carry structured working state forward across turns or sessions without pretending that the state is already a finding, artifact, or blocker.
analysis_context is available through the scripting and tool surfaces, but it is not currently rendered in the Notebook detail surface.
Dependencies Between Entries¶
Entries can reference other entries they depend on. Dependencies are informational — they help you track relationships between analysis goals but are not enforced. Use dependencies when one entry's outcome is a prerequisite for another — for example, if "Investigate loader" must complete before "Identify entry point" can begin.
Dependencies appear as a depends on edge line in the detail view header, right below the entry's provenance line. Each linked entry is clickable and opens that entry's detail view. The line appears only when the entry has dependencies.
Adding a dependency¶
When an entry already has dependencies, click the + at the end of the depends on line; the dialog shows all other entries — select one and click Add. The first dependency on an entry is normally established by Sidekick while it works; ask for it in Chat.
Removing a dependency¶
Click the × button next to the dependency link on the depends on line.
Navigating to Threads¶
Every entry tracks which Chat threads have operated on it. The chat icons in the entry header link the creating thread and the most recent one, and the thread links on each outcome's provenance (created in, validated by, ✗ contested by) navigate to those conversations in the Sidekick Chat sidebar.
This lets you trace how Sidekick's analysis in Chat contributed to outcomes recorded in the Notebook.
How Sidekick Uses the Notebook¶
Sidekick integrates with the Notebook in several automated ways:
- Context for Chat — the Chat Assistant reads active notebook entries and their outcomes to inform its responses. You do not need to repeat findings you have already recorded.
- Structured working state — Sidekick tools and scripts can read an entry's
analysis_contextto resume intermediate state such as scope and candidate sets without recomputing it. - Outcome validation — when a new
findingorartifactoutcome is added as a draft, the Notebook Validation actor checks it against its evidence. It promotes the outcome to verified, rejects it with a reason, or leaves it as a draft when the evidence is insufficient to decide. When it rejects an outcome, it also rejects linked outcomes and re-checks dependent entries. The validating threads appear on the outcome card. - Session briefing synthesis — the Analysis Briefings actor continuously updates a session-level briefing from notebook activity and recent chats. You can review that briefing on the Memory tab of a workspace in the Sidekick tab; the Memory tab is read-only and the briefing is rewritten automatically as your notebook and chats change. To influence it, record findings, tasks, or blockers in the Notebook through Chat.
Note
Background synthesis and validation only run when the Sidekick service is available. The notebook itself is always accessible and fully functional offline.
Persistence¶
The Notebook is saved in Sidekick's workspace database (workspaces.db) whenever a change is made — not in the Binary Ninja .bndb file. Entries, tasks, outcomes, and analysis_context are all preserved across Binary Ninja sessions. Opening any binary that belongs to the same workspace restores your full notebook state.
For standalone files that are not part of a Binary Ninja project, each file gets its own workspace, so the notebook is scoped to that file.
Notebook in the Sidekick Tab¶
The Tasks tab of a workspace in the Sidekick tab groups your notebook entries as investigations: Blocked (with what Sidekick needs from you), In progress, Not started, and Closed (collapsed by default). Each shows agent time and a dot per task (a done/total count when there are many tasks); the full entry is in the Resources sidebar. The Artifacts tab shows artifact outcomes; findings are listed below the session briefing on the Memory tab.
Tips¶
- Tell Chat your analysis intent before asking it to investigate; Sidekick records it as an entry. This gives the Chat Assistant explicit context about what you are trying to accomplish.
- Use
findingoutcomes for reusable, anchored facts you can point future work at. Useartifactoutcomes for concrete deliverables (YARA signatures, reports, PoCs). When Sidekick is stuck on something only you can supply, it records a blocker; answer it in Chat. - When a line of investigation is finished, ask Chat to close the entry with an appropriate resolution. Closed entries remain accessible and their outcomes continue to inform Chat, but they no longer appear as active work.
- To focus Chat on a specific entry, mention it in your message or paste its link.