dev-docs: introduce application_model.md as entry point, normalize naming, clean work/#134
dev-docs: introduce application_model.md as entry point, normalize naming, clean work/#134
Conversation
…lize naming
Split planning content from as-built reference content per the principle
that ``work/`` holds plans/TODOs (authoritative until the code lands)
and ``dev-docs/`` reflects the current code (authoritative once the
code lands).
Three file moves, one rename, one deletion, one new file:
- ``dev-docs/FOLD_STATE_DIAGRAM.md`` → ``dev-docs/message-hierarchy.md``
(drops the SCREAMING_SNAKE; H1 also updated to "Message Hierarchy
and Fold State" to match content scope).
- ``dev-docs/restoring-archived-sessions.md`` → ``docs/restoring-archived-sessions.md``
(user-facing operations content; ``docs/`` is the new home for
user-facing documentation distinct from contributor docs).
- ``dev-docs/rendering-next.md`` → ``work/rendering-next.md``
("Future Work for the rendering system" — explicitly plan content).
- ``work/phase-c-agent-transcripts.md`` deleted: the work fully landed
via PR #99 (b5aefa0); the as-built reality is now in ``agents.md``.
- ``dev-docs/application_model.md`` (new): entry-point doc.
Inbound references updated in ``CLAUDE.md``, ``CONTRIBUTING.md``,
``claude_code_log/converter.py`` (URL to docs/), and the four dev-docs
that cross-referenced the moved/renamed files.
The new ``application_model.md`` is the entry point: § 1 subsystem
table with pointers to deep-dive docs, § 2 inlined coverage of
subsystems without their own deep-dive (CLI, TUI, cache implementation,
migrations, detail-level filter, image export, performance profiling),
§ 3 data lifecycle ASCII diagram, § 4 cross-cutting glossary
(TranscriptEntry, MessageContent, TemplateMessage, RenderingContext,
session_id and synthetic forms, sidechain, agent_id, fork point,
pair_first/middle/last, detail level, passthrough), § 5 "where to
start reading" by question.
Surviving dev-docs all carry a one-line breadcrumb pointing at
``application_model.md`` so a reader landing on a deep-dive without
context can find the system overview.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-through A reviewer reading the new ``application_model.md`` cold landed at ``dag.md`` for branch sessions, but the doc was silent on where the branch-heading text itself is assembled — they'd have had to grep ``renderer.py`` to find it. Three small fixes close the gap: 1. ``SessionHeaderMessage`` glossary entry in ``application_model.md`` § 4: defines the term, distinguishes trunk vs branch flavours, names the four functions that compose the title (``_branch_label``, ``_enrich_branch_titles``, ``create_session_preview``, ``simplify_command_tags``). Lands between the ``fork point / branch`` and ``pair_first / middle / last`` entries since branch headings are the lookup most likely to lead here. 2. Cross-reference in ``dag.md``'s "Navigation Links" section: one-line callout that title composition is a renderer concern, pointing back at the new glossary entry. Keeps ``dag.md`` focused on structure (its job) without the reader hitting a silent dead end on the labeling question. 3. Cross-cutting-concerns paragraph after the § 1 subsystem table: names "label and preview composition" as the canonical example of a concern that touches several rows (DAG, renderer, parsing) and isn't owned by any single one. Helps the next reader who looks for "where do branch labels live?" and finds neither the DAG row nor the renderer row obviously authoritative. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis PR restructures developer documentation by introducing a central application model reference document that serves as the entry point for the claude-code-log system. It updates cross-references throughout existing docs, reorganizes directory structure (docs/, work/, dev-docs/), deletes an obsolete work-in-progress document, and corrects internal link paths. One user-facing message string is updated to reference the new docs/ location. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~4 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 7/8 reviews remaining, refill in 7 minutes and 30 seconds.Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
dev-docs/application_model.md (1)
361-361: Optional: Simplify redundant phrase.The phrase "in-flight or proposed plan" could be shortened to just "plan" since "in-flight" and "proposed" both already imply it's a plan.
✨ Suggested simplification
- → [`work/`](../work/) — each `.md` is an in-flight or proposed plan. + → [`work/`](../work/) — each `.md` is a plan (in-flight or proposed).or simply:
- → [`work/`](../work/) — each `.md` is an in-flight or proposed plan. + → [`work/`](../work/) — each `.md` documents planned work.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dev-docs/application_model.md` at line 361, Replace the redundant phrase in the documentation entry "→ [`work/`](../work/) — each `.md` is an in-flight or proposed plan." by changing "in-flight or proposed plan" to simply "plan" so the line reads "→ [`work/`](../work/) — each `.md` is a plan."; update the corresponding text in dev-docs/application_model.md where that exact phrase appears.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@dev-docs/application_model.md`:
- Line 361: Replace the redundant phrase in the documentation entry "→
[`work/`](../work/) — each `.md` is an in-flight or proposed plan." by changing
"in-flight or proposed plan" to simply "plan" so the line reads "→
[`work/`](../work/) — each `.md` is a plan."; update the corresponding text in
dev-docs/application_model.md where that exact phrase appears.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: bb304ab2-92ee-4115-9c32-5cb7c1daf4ae
📒 Files selected for processing (15)
CLAUDE.mdCONTRIBUTING.mdclaude_code_log/converter.pydev-docs/agents.mddev-docs/application_model.mddev-docs/css-classes.mddev-docs/dag.mddev-docs/implementing-a-tool-renderer.mddev-docs/message-hierarchy.mddev-docs/messages.mddev-docs/rendering-architecture.mddev-docs/teammates.mddocs/restoring-archived-sessions.mdwork/phase-c-agent-transcripts.mdwork/rendering-next.md
💤 Files with no reviewable changes (1)
- work/phase-c-agent-transcripts.md
Summary
Restructures
dev-docs/andwork/so the directories cleanly separate as-built reference (dev-docs/) from plans/TODOs (work/), and introduces a lean entry-point document fordev-docs/.dev-docs/application_model.md— entry-point doc covering subsystems, data lifecycle, glossary, and inline coverage of subsystems without their own deep-dive (CLI, TUI, cache implementation, migrations, detail-level filter, image export, performance profiling).dev-docs/FOLD_STATE_DIAGRAM.md→dev-docs/message-hierarchy.md(drops the SCREAMING_SNAKE; H1 also updated).dev-docs/restoring-archived-sessions.md→docs/restoring-archived-sessions.md(user-facing operations;docs/is the new home for end-user documentation).dev-docs/rendering-next.md→work/rendering-next.md(it was always future-work content).work/phase-c-agent-transcripts.mddeleted: the work fully landed via Integrate agent transcripts into the DAG (Phase C) #99; the as-built reality is now inagents.md.CLAUDE.md,CONTRIBUTING.md,claude_code_log/converter.py(URL points atdocs/), and the fourdev-docs/*.mdfiles that cross-referenced the moved/renamed pages.application_model.mdso a reader landing on a deep-dive without context finds the system overview.Validation
A second commit (
027f8c6) folds in three follow-up fixes from a docs-walk-through with a fresh reader — they navigatedapplication_model.md→dag.md→messages.mdcleanly to investigate a hypothetical branch-heading rendering bug, but flagged that the label composition surface (_branch_label,_enrich_branch_titles,create_session_preview,simplify_command_tags) wasn't reachable from the docs alone:SessionHeaderMessageglossary entry naming the four functions involved.dag.md's "Navigation Links" section pointing at the glossary entry — keepsdag.mdfocused on structure without leaving a silent dead end on labeling.Resulting structure
Test plan
grep -rIn "FOLD_STATE_DIAGRAM\|phase-c-agent-transcripts"returns nothing outside test fixtures.dev-docs/*.mdresolve (relative paths verified).CLAUDE.mdandCONTRIBUTING.mdArchitecture sections updated to point atapplication_model.mdfirst.🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation
docs/), development documentation (dev-docs/), and work plans (work/).