diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-28 02:09:11 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-28 02:09:11 -0500 |
| commit | 636c18341c1f9131bfabdd547cd60797d844a601 (patch) | |
| tree | b6c5db6ba8fc9d4f8de33a16334fc533c34ab76c | |
| parent | e373ba9e6dc1b288946ce57e3f29bf5372126dee (diff) | |
| download | org-drill-636c18341c1f9131bfabdd547cd60797d844a601.tar.gz org-drill-636c18341c1f9131bfabdd547cd60797d844a601.zip | |
docs: relocate v0 design specs to docs/design/
I moved both v0 design specs out of working/ and into docs/design/. That's the conventional permanent home for project documentation, where engineers will look during implementation. working/ is meant for transient in-progress artifacts that file away once the work ships, and these specs are long-lived design docs that don't fit that contract.
Files moved:
- working/stats-dashboard/stats-dashboard.org → docs/design/stats-dashboard.org
- working/fsrs-spec/fsrs-spec.org → docs/design/fsrs-spec.org
The git rename detection picked both up, so file history follows the move.
I also dropped the stale /docs entry from .gitignore. The Makefile doesn't write to docs/ and nothing else references it as a build output, so the ignore was inherited cruft that would have silently dropped any tracked file under docs/.
I updated path references in seven spots: three docstring/comment refs in org-drill.el, one in tests/test-org-drill-session-record.el (the Commentary block), and three inside the specs themselves. Two refs in fsrs-spec.org now point at the correct location for its defcustom docstring and option description. One in stats-dashboard.org's References section points at the sister spec.
Full make test-unit green. eask compile clean.
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | docs/design/fsrs-spec.org (renamed from working/fsrs-spec/fsrs-spec.org) | 4 | ||||
| -rw-r--r-- | docs/design/stats-dashboard.org (renamed from working/stats-dashboard/stats-dashboard.org) | 2 | ||||
| -rw-r--r-- | org-drill.el | 7 | ||||
| -rw-r--r-- | tests/test-org-drill-session-record.el | 2 |
5 files changed, 7 insertions, 9 deletions
@@ -7,7 +7,6 @@ org-drill.html /robot/failure.txt /robot/messages.txt /robot/*-copy.org -/docs todo.org /.ai/ diff --git a/working/fsrs-spec/fsrs-spec.org b/docs/design/fsrs-spec.org index d0f0bc1..e2e308a 100644 --- a/working/fsrs-spec/fsrs-spec.org +++ b/docs/design/fsrs-spec.org @@ -189,7 +189,7 @@ before writing the function body. #+begin_src elisp (defcustom org-drill-fsrs-parameters '(0.4 0.6 2.4 5.8 4.93 0.94 0.86 0.01 1.49 0.14 0.94 2.18 0.05 0.34 1.26 0.29 2.61) - "17-tuple FSRS-4.5 default parameters. See =docs/fsrs-spec.org=.") + "17-tuple FSRS-4.5 default parameters. See =docs/design/fsrs-spec.org=.") (defcustom org-drill-fsrs-desired-retention 0.9 "Target retention for FSRS scheduling. Higher = shorter intervals.") @@ -254,7 +254,7 @@ Same in =hypothetical-next-review-date= (read-only, no store). #+begin_src elisp - FSRS :: Free Spaced Repetition Scheduler, the DSR-based algorithm - used in Anki since 2024. See `docs/fsrs-spec.org` for the algorithm + used in Anki since 2024. See `docs/design/fsrs-spec.org` for the algorithm and the state model. #+end_src diff --git a/working/stats-dashboard/stats-dashboard.org b/docs/design/stats-dashboard.org index 8b195cb..6bb18d9 100644 --- a/working/stats-dashboard/stats-dashboard.org +++ b/docs/design/stats-dashboard.org @@ -415,5 +415,5 @@ proceed against this spec. - =org-drill.el= around line 540 — the existing =persist-defvar= use for the SM5 matrix. Template for the session-log persist + the =condition-case= wrapper for corrupt-load recovery. -- =working/fsrs-spec/fsrs-spec.org= — sister v0 spec, same DECIDE-marker +- =docs/design/fsrs-spec.org= — sister v0 spec, same DECIDE-marker convention. diff --git a/org-drill.el b/org-drill.el index d8f32ac..2680113 100644 --- a/org-drill.el +++ b/org-drill.el @@ -88,8 +88,7 @@ "Persistent session log and the statistics dashboard. The dashboard is opt-in via \\='M-x org-drill-statistics\\='; the session log itself is updated automatically at the end of every completed (non-suspended) -drill session. See working/stats-dashboard/stats-dashboard.org for the -design rationale." +drill session. See docs/design/stats-dashboard.org for the design rationale." :tag "Org-Drill Statistics" :group 'org-drill) @@ -567,7 +566,7 @@ pace of learning.") "Persistent matrix of optimal factors (fallback after load failure)."))) ;; Statistics session log. Records one entry per completed drill session -;; so the stats dashboard (working/stats-dashboard/stats-dashboard.org) has +;; so the stats dashboard (docs/design/stats-dashboard.org) has ;; a temporal axis to render trends against. Same persist-defvar + ;; condition-case pattern as the SM5 matrix above. See ;; `org-drill--session-log-quarantine' for the corrupt-file recovery @@ -576,7 +575,7 @@ pace of learning.") (cl-defstruct org-drill-session-record "One completed drill session, persisted to `org-drill-session-log'. Slots match the v0 stats-dashboard spec; see -working/stats-dashboard/stats-dashboard.org for field semantics." +docs/design/stats-dashboard.org for field semantics." start-time ; float — `float-time' at session start end-time ; float — `float-time' at session end scope ; symbol or list — `org-drill-scope' at start diff --git a/tests/test-org-drill-session-record.el b/tests/test-org-drill-session-record.el index 561b84c..d5c32ad 100644 --- a/tests/test-org-drill-session-record.el +++ b/tests/test-org-drill-session-record.el @@ -2,7 +2,7 @@ ;;; Commentary: ;; Tests for the persist + recording layer that powers the stats -;; dashboard (see working/stats-dashboard/stats-dashboard.org). +;; dashboard (see docs/design/stats-dashboard.org). ;; ;; The contract: ;; |
