Skip to content

docs(research): split api/ vs design/, inline external citations - #51

Merged
hakula139 merged 1 commit into
mainfrom
docs/research-restructure
Apr 29, 2026
Merged

docs(research): split api/ vs design/, inline external citations#51
hakula139 merged 1 commit into
mainfrom
docs/research-restructure

Conversation

@hakula139

Copy link
Copy Markdown
Owner

Summary

The flat docs/research/ layout muddled two genuinely different artifact types: outward-facing notes describing the Anthropic API surface, and inward-facing surveys that informed oxide-code design choices. Splitting into api/ and design/ subdirectories matches that natural cleavage; the README index becomes two tables.

The redundancy that prompted this PR — Reference Implementations near the top of each survey, then Reference projects again under the bottom ## Sources (with the same project names appearing twice on one page, once Title-Case and once lowercase) — is gone. External citations now live in a **Sources:** footer at the end of each project subsection; the bottom ## Sources section collapses to a single flat list of oxide-code references.

Design decisions

  • Two subdirs, not one canonical skeleton. API references and design surveys have different natural shapes. Forcing every doc into one template would either bloat API refs with empty Reference Implementations sections or strip design surveys of their motivating analysis. Conventions are scoped per-subdir.
  • Per-project **Sources:** footers, not a separate Reference projects section. Inline citations co-locate evidence with the prose that introduces it; the bottom of each design doc no longer repeats the project list with file paths.
  • Framework parenthetical kept only in tui.md. Other design docs use ### Project (Language) since the framework isn't the topic; tui.md keeps ### Claude Code (TypeScript / Ink) and ### OpenAI Codex (Rust / ratatui) because the framework is the topic.
  • Alphabetical project order: Claude Code → OpenAI Codex → opencode.tui.md had Codex and opencode swapped; reordered.
  • learn-claude-code dropped from session-persistence.md. It's a tutorial repo, not an actual peer reference project.

Changes

FileDescription
docs/research/README.mdRewritten as a two-table index: API references (3 docs in api/) and Design surveys (4 docs in design/).
docs/research/api/anthropic-api.md, docs/research/api/extended-thinking.md, docs/research/api/system-prompt.mdMoved into api/ subdir. Cross-doc links lose the ./ prefix and adopt the Document Title § Section Name link text convention so each rendered link reads as a friendly reference.
docs/research/design/file-tracking.md, docs/research/design/tool-truncation.mdMoved into design/. External citations moved up into per-project **Sources:** footers; bottom ## Sources flattened to oxide-code-only entries. opencode subsection drops the (TypeScript / Effect) parenthetical — Effect isn't the topic of these surveys.
docs/research/design/tui.mdMoved into design/. ## Reference Projects renamed to ## Reference Implementations; OpenAI Codex and opencode subsections swapped to land alphabetical order; intro paragraph project list reordered. Framework parenthetical kept (/ Ink, / ratatui, / @opentui + Solid.js) since the framework is the topic.
docs/research/design/session-persistence.mdMoved into design/. Dropped learn-claude-code from the intro list and removed the ### learn-claude-code (Python) subsection.
crates/oxide-code/src/client/anthropic/betas.rs, crates/oxide-code/src/session/actor.rsTwo inbound code-comment references updated to the new doc paths.

Test plan

  • cargo build compiles cleanly (inbound code references resolve)
  • pnpm lint — markdownlint passes on all 19 files
  • pnpm spellcheck — 0 issues
  • Manual review: every internal cross-doc link still resolves; inline **Sources:** footers carry the same content the deleted bottom subsections did

@hakula139hakula139 self-assigned this Apr 29, 2026
@hakula139hakula139 added the enhancement New feature or request label Apr 29, 2026
@codecov

codecovBot commented Apr 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@hakula139hakula139 added documentation Improvements or additions to documentation and removed enhancement New feature or request labels Apr 29, 2026
The flat `docs/research/` layout muddled two genuinely different
artifact types: outward-facing notes describing the Anthropic API
surface, and inward-facing surveys of reference projects that informed
oxide-code design choices. Splitting into `api/` and `design/`
subdirectories matches that natural cleavage; the README index becomes
two tables.
Within `design/`, the survey shape is now consistent:
- `## Reference Implementations` everywhere (was `Reference Projects`
in `tui.md`).
- Alphabetical project order: Claude Code → OpenAI Codex → opencode.
- `### Project (Language)` subheadings, framework parenthetical kept
only in `tui.md` where the framework is the topic.
- Per-project `**Sources:**` footer co-locates external citations with
the prose that introduces them; the bottom `## Sources` section
collapses to a single flat list of oxide-code references (drops the
`### oxide-code` / `### Reference projects` subheading split that had
the same project names appearing twice on one page — once Title-Case
at top, once lowercase under Sources).
- `learn-claude-code` dropped from `session-persistence.md` — it's a
tutorial repo, not a peer reference project.
Cross-doc links normalized: drop the `./` prefix, give each link a
`Document Title § Section Name` body that matches the README's friendly
title (`anthropic-api § ...` → `Anthropic API § ...`, etc.). The
`file-tracking.md` self-link to session-persistence picks up an actual
anchor (`#forward-compatibility`) instead of plain-text `§`.
Inbound code references in `actor.rs` and `betas.rs` updated to point
at the new paths.
@hakula139
hakula139force-pushed the docs/research-restructure branch from ca74011 to 0371268CompareApril 29, 2026 10:42
@hakula139
hakula139 merged commit 79c0b3a into mainApr 29, 2026
4 checks passed
@hakula139
hakula139 deleted the docs/research-restructure branch April 29, 2026 10:47
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@hakula139