Index: cache.rkt
==================================================================
--- cache.rkt
+++ cache.rkt
@@ -34,26 +34,26 @@
 (define cache-conn (make-parameter (sqlite3-connect #:database DBFILE #:mode 'create)))
 
 (define-schema cache:article #:table "articles"
   ([id                   id/f #:primary-key #:auto-increment]
    [page                 symbol/f]
-   [title-plain          string/f]
-   [title-html-flow      string/f]
-   [title-specified?     boolean/f]
-   [published            string/f]
-   [updated              string/f]
-   [author               string/f]
+   [title-plain          string/f  #:nullable]
+   [title-html-flow      string/f  #:nullable]
+   [title-specified?     boolean/f #:nullable]
+   [published            string/f  #:nullable]
+   [updated              string/f  #:nullable]
+   [author               string/f  #:nullable]
    [conceal              string/f]
-   [series-page          symbol/f]
-   [noun-singular        string/f]
-   [note-count           integer/f]
-   [content-html         string/f]
-   [disposition          string/f]
-   [disp-html-anchor     string/f]
-   [listing-full-html    string/f]   ; full content but without notes
-   [listing-excerpt-html string/f]   ; Not used for now
-   [listing-short-html   string/f])) ; Date and title only
+   [series-page          symbol/f  #:nullable]
+   [noun-singular        string/f  #:nullable]
+   [note-count           integer/f #:nullable]
+   [content-html         string/f  #:nullable]
+   [disposition          string/f  #:nullable]
+   [disp-html-anchor     string/f  #:nullable]
+   [listing-full-html    string/f  #:nullable]   ; full content but without notes
+   [listing-excerpt-html string/f  #:nullable]   ; Not used for now
+   [listing-short-html   string/f  #:nullable])) ; Date and title only
 
 (define-schema cache:note #:table "notes"
   ([id                   id/f #:primary-key #:auto-increment]
    [page                 symbol/f]
    [html-anchor          string/f]

Index: code-docs/cache.scrbl
==================================================================
--- code-docs/cache.scrbl
+++ code-docs/cache.scrbl
@@ -189,11 +189,14 @@
                            [listing-full-html    string/f]
                            [listing-excerpt-html string/f]
                            [listing-short-html   string/f])
             #:constructor-name make-cache:article]{
 
-Table holding cached article information.
+Table holding cached @tech{article} information.
+
+When creating a @racket[cache:article] (should you ever need to do so directly, which is unlikely),
+the only required fields are @racket[_page], @racket[_title], and @racket[_conceal].
 
 }
 
 @defstruct*[cache:note ([id              id/f]
                         [page            symbol/f]
@@ -210,11 +213,11 @@
                         [listing-full-html    string/f]
                         [listing-excerpt-html string/f]
                         [listing-short-html   string/f])
                        #:constructor-name make-cache:note]{
 
-Table holding cached information on notes.
+Table holding cached information on @tech{notes}.
 
 }
 
 @defstruct*[cache:index-entry ([id id/f]
                                [entry       string/f]
@@ -221,11 +224,11 @@
                                [subentry    string/f]
                                [page        symbol/f]
                                [html-anchor string/f])
                               #:constructor-name make-cache:index-entry]{
                               
-Table holding cached information about index entries found in articles.
+Table holding cached information about index entries found in @tech{articles}.
 
 }
 
 @defstruct*[listing ([path        string/f]
                      [title       string/f]