Project Folders and Hierarchical log.md for Work Management

Nighthaven⛺︎ April 25, 2026
Source
  1. Overview Existing ToDo apps (Trello, Things) treat Tasks as primary objects and demote cognitive state to secondary attributes. But work does not actually progress through Task state changes. It progresses through cognitive motion: focus breaks, focus resumes, working memory reloads. This essay proposes a method that externalizes cognitive state as a primary object, using the Mac filesystem and Claude Code, by placing hierarchical log.md files within per-Project folders.
  2. Definitions Area: A domain of ongoing responsibility. No deadline. A base space referenced by multiple Projects. Project: A unit of work with a deadline and deliverable. An event space that moves through three domains: Backlog, In Progress, Done. Focus: The single object currently being worked on. The top layer of cognition. Working memory: The handful of items supporting the current Task. The layer directly below focus. Project log.md: A file inside each Project folder. A snapshot of cognitive state captured at the moment of interruption. The externalized storage for the focus layer. Master log.md: A file at the root of the folder containing all Projects. One section per Project, accumulating time-stamped one-line entries. The externalized storage for the working memory layer, supporting movement between Projects.
  3. Propositions P1: The barrier at interruption is not only Task difficulty. It also includes the cost of holding focus and the cost of reloading working memory. P2: A design that treats cognitive state as a primary object requires separating Task state management from cognitive state preservation into distinct layers. Existing apps place both on the same plane. This structurally obstructs the separation. P3: Resuming focus within a Project and switching focus between Projects are different cognitive motions. Each requires its own externalization device. Project log.md serves the former. Master log.md serves the latter. P4: Master log.md should not be updated in real time. It should be updated at points when no further work is obviously coming: end of day, before sleep, beginning of the next day. The delay shifts what gets written from focus-layer content to working-memory-layer abstraction.
  4. Corollaries C1 (from P1): "Number of unfinished Tasks" is an inadequate metric for resumption cost. The metric that matters: how many minutes does it take to resume after stopping now? C2 (from P2): The Task list and the cognitive layer should run asynchronously at the UI level. The synchronous pattern, where clicking a Task auto-expands its memo field, subordinates the cognitive layer. C3 (from P3): Project log.md and Master log.md are different documents. The writer's stance and the reader's context differ. Project log.md speaks from the self-just-before-stopping to the self-at-resumption. Master log.md conveys the breathing of all currently running Projects. C4 (from P4): The density of time-stamped entries in Master log.md visualizes Project liveliness. Projects with continuous updates are alive. Projects with stalled updates are dormant. This information does not appear in Kanban column structure.
  5. Open Questions Q1: How should the internal structure of Project log.md be designed? What format minimizes the cost of saving the state just before focus breaks, and minimizes the cost of restoring it at resumption? Are three layers enough — the prior focus object, the next move, the unresolved question held in suspension — or is a different articulation required?  Q2: When Master log.md grows vertically over long-term use, at what unit should it be archived? Is per-Project archival at the point of Done sufficient, or is a time-window articulation such as "the last two weeks" needed? Q3: Cross-Project estimation of resumption cost is weak in the filesystem alone. Should Claude Code provide an auxiliary layer that reads all log.md files under In Progress and ranks them by resumption cost? Or should the design wait until actual operation reveals whether such a layer is needed?

Discussion in the ATmosphere

Loading comments...