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

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

File Description
docs/research/README.md Rewritten 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.md Moved 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.md Moved 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.md Moved 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.md Moved 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.rs Two 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

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

codecov Bot 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!

@hakula139 hakula139 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
hakula139 force-pushed the docs/research-restructure branch from ca74011 to 0371268 Compare April 29, 2026 10:42
@hakula139
hakula139 merged commit 79c0b3a into main Apr 29, 2026
4 checks passed
@hakula139
hakula139 deleted the docs/research-restructure branch April 29, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant