Skip to content

feat: mark writable-only scans in the result footer - #5

Merged
JeanExtreme002 merged 2 commits into
mainfrom
scan-writable-only-marker
Aug 31, 2026
Merged

feat: mark writable-only scans in the result footer#5
JeanExtreme002 merged 2 commits into
mainfrom
scan-writable-only-marker

Conversation

@JeanExtreme002

@JeanExtreme002 JeanExtreme002 commented Aug 31, 2026

Copy link
Copy Markdown
Owner

What

Replaces the two-line note that sat above every writable-only result set
with a short marker in the footer, under the rows it qualifies.

Before:

Note: Writable regions only — nothing in read-only memory was searched.
Use '--all-regions' on the first scan to include it.
+-----+--------------------+-------+
| ROW | ADDRESS            | VALUE |
+-----+--------------------+-------+
|  #1 | 0x00000201A4C0F118 | 95    |
+-----+--------------------+-------+
1 row in set (0.02 sec)

After:

+-----+--------------------+-------+
| ROW | ADDRESS            | VALUE |
+-----+--------------------+-------+
|  #1 | 0x00000201A4C0F118 | 95    |
+-----+--------------------+-------+
1 row in set — writable regions only (0.02 sec)

The caveat is about the rows, so it belongs next to the rows — that is where
the eye already is when it asks whether the result set is everything.

Where it shows up

Unchanged in reach: the scan itself, every refine, and every later
scan:results, whether the restriction came from --writable or from the
writable_only setting. An empty result set keeps it too —
Empty set — writable regions only — because "nothing found" and "nothing
found there" are different answers.

Implementation

Printer.table and Printer.footer gained an optional marker, appended to
the count line before the timing. Any listing can now carry a caveat about its
rows without a paragraph above them; scanning is the only caller so far.

Also in this PR

  • The sample footers in help scan, help scanning and the docs showed a
    --writable scan without the marker, so they were updated.
  • docs/guide/scanning.md and docs/troubleshooting.md described the old
    note and now describe the footer.
  • The README/docs screenshot was regenerated: it shows the new footer, and it
    was still on the 0.1.0 banner.

Version

Bumped to 0.2.0. The footer under every result table changed shape, which
is visible to anyone reading it, so this is a minor rather than a patch.
picklock/__init__.py is the source hatch reads; docs/quickstart.md, the
Sphinx fallback in docs/conf.py and the terminal capture spell the version
out, so they move with it.

Checks

  • pytest: 927 passed, including the end-to-end scans against a real process.
  • make lint and make type-check clean.
  • The end-to-end test now also asserts the marker appears after the table,
    not just that it appears.

The two-line note above the table said the same thing every time and
pushed the rows down with it. What the reader needs at that moment is
short: the result set skipped read-only memory.

It now rides in the footer, under the rows it qualifies — where the
question "is this all of them?" is actually asked — as
"20 rows in set — writable regions only (0.02 sec)". The scan, every
refine and every later scan:results carry it, as before, and so does an
empty set, where "nothing found" and "nothing found there" are different
answers.

Printer.table and Printer.footer take the marker, so any listing can
carry a caveat about its rows without a paragraph above them.
@github-actions github-actions Bot added docs Documentation: the README, the docs site, the repository's own files core Anything inside the picklock package commands The command layer: a new command, or a change to one output How a result looks on screen: tables, footers, value formatting tests The test suite labels Aug 31, 2026
@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 Picklock | 🛠️ Build #34305386 | 📁 Comparing ab50823 against latest (49e5bcc)

  🔍 Preview build  

4 files changed
± quickstart.html
± troubleshooting.html
± guide/scanning.html
± reference/commands.html

The result footer changed shape, which anyone reading the table sees, so
this is a minor rather than a patch. The quickstart's banner sample, the
Sphinx fallback and the terminal capture carry the version literally, so
all three move with it.
@JeanExtreme002
JeanExtreme002 merged commit 2814b1e into main Aug 31, 2026
18 checks passed
@github-actions
github-actions Bot deleted the scan-writable-only-marker branch August 31, 2026 04:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

commands The command layer: a new command, or a change to one core Anything inside the picklock package docs Documentation: the README, the docs site, the repository's own files output How a result looks on screen: tables, footers, value formatting tests The test suite

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant