diff --git a/doc/todo/hide_missing_files/comment_3_a9590ef65875a68eb1d1d7becc98b8b8._comment b/doc/todo/hide_missing_files/comment_3_a9590ef65875a68eb1d1d7becc98b8b8._comment
new file mode 100644
index 0000000000..fe7e9bae6e
--- /dev/null
+++ b/doc/todo/hide_missing_files/comment_3_a9590ef65875a68eb1d1d7becc98b8b8._comment
@@ -0,0 +1,32 @@
+[[!comment format=mdwn
+ username="joey"
+ subject="""comment 3"""
+ date="2018-10-17T15:50:46Z"
+ content="""
+This will need some state maintained, to allow efficiently querying for
+worktree files that have gained/lost content since the last sync.
+
+At least need to maintain a map of all keys that were gained/lost since
+last time.
+
+It would be easy to loop through `git ls-tree` of the master branch,
+look up all the keys with `git cat-file`, and find in the map.
+But slow...
+
+Better would be to maintain an additional map from filename to key.
+
+The keys database already maintains a map from key to worktree file
+(and back), but only in v6 mode, and only for unlocked files.
+Not useful for this.
+
+This would need anything that changes annex pointers
+(fix/unlock/lock/pre-commit) to update the map. Would also need to make
+sure that it gets updated with any changes to the checked out branch
+made by git commit or git-annex sync. Doable, but complicated.
+
+Or, the map could be of the sha1s of the annex pointers, then loop
+through `git ls-files --stage` and look up the sha1s in the map
+would not be too slow. On my laptop, with 85000 files in the tree,
+that command takes 0.13s. Still needs to update the map whenever
+annex pointers are changed though.
+"""]]
diff --git a/doc/todo/smudge.mdwn b/doc/todo/smudge.mdwn
index 664cf71742..ea5b00ac3e 100644
--- a/doc/todo/smudge.mdwn
+++ b/doc/todo/smudge.mdwn
@@ -25,17 +25,6 @@ git-annex should use smudge/clean filters. v6 mode
(My enhanced smudge/clean patch set also fixed this problem, in a much
nicer way...)
-## other warts
-
-* There are several v6 bugs that are edge cases and
- need more info or analysis. None of these seem like blockers
- to keep v6 experimental or to replacing direct mode with v6.
-
- -
- -
- - a
- -
-
* When git runs the smudge filter, it buffers all its output in ram before
writing it to a file. So, checking out a branch with a large v6 unlocked files
can cause git to use a lot of memory.
@@ -51,6 +40,18 @@ git-annex should use smudge/clean filters. v6 mode
The annex.thin idea above could work around this problem.
+
+## other warts
+
+* There are several v6 bugs that are edge cases and
+ need more info or analysis. None of these seem like blockers
+ to keep v6 experimental or to replacing direct mode with v6.
+
+ -
+ -
+ -
+ -
+
### long term todos
* Potentially: Use git's new `filter..process` interface, which will