Skip to content

Clean up experimental Rust implementation; reorganize docs#6

Merged
linustan merged 4 commits intomainfrom
claude/cleanup-previous-commit-ITC0B
Feb 3, 2026
Merged

Clean up experimental Rust implementation; reorganize docs#6
linustan merged 4 commits intomainfrom
claude/cleanup-previous-commit-ITC0B

Conversation

@linustan
Copy link
Copy Markdown
Owner

@linustan linustan commented Feb 3, 2026

  • Remove experimental Rust crates/ and rust.ts wrapper (validation complete)
  • Document Rust porting lessons in docs/rust-porting.md
  • Create docs/INDEX.md as central navigation hub
  • Update CLAUDE.md with document map for discoverability
  • Update PROGRESS.md with completed work sections 6 and 7

The Rust implementation validated decision #5 (TypeScript with Rust
portability). Lessons preserved for future migration work.

https://claude.ai/code/session_0128k4mYDvWUiXDqUCKq3HuK

- Remove experimental Rust crates/ and rust.ts wrapper (validation complete)
- Document Rust porting lessons in docs/rust-porting.md
- Create docs/INDEX.md as central navigation hub
- Update CLAUDE.md with document map for discoverability
- Update PROGRESS.md with completed work sections 6 and 7

The Rust implementation validated decision #5 (TypeScript with Rust
portability). Lessons preserved for future migration work.

https://claude.ai/code/session_0128k4mYDvWUiXDqUCKq3HuK
Document the Rust-influenced development mindset:
- Approach code as an experienced Rust developer
- Prioritize clarity over brevity
- Prefer immutability even at cost of extra lines
- Write TypeScript that ports smoothly to Rust

https://claude.ai/code/session_0128k4mYDvWUiXDqUCKq3HuK
- Update decisions #6 and #7 to reflect thin CLI + backend separation
- Remove premature "async required" reasoning from rust-porting.md
- Document I/O patterns: callback injection, blocking, channels, async
- The core framework is interface-agnostic (CLI, web, library)

https://claude.ai/code/session_0128k4mYDvWUiXDqUCKq3HuK
Focus on what actually matters:
- Pure computation ports trivially
- Keep I/O at boundaries via dependency injection
- Type mapping patterns (the concrete, useful part)
- napi-rs was validation scaffolding, not architecture

Remove distractions:
- "Hybrid architecture" framing
- I/O patterns catalog (blocking, async, channels)
- Async complexity discussion

The core insight is simple: good software design (pure computation,
injected dependencies) makes porting easy.

https://claude.ai/code/session_0128k4mYDvWUiXDqUCKq3HuK
@linustan linustan merged commit a148c1d into main Feb 3, 2026
@linustan linustan deleted the claude/cleanup-previous-commit-ITC0B branch February 3, 2026 03:42
linustan pushed a commit that referenced this pull request Feb 5, 2026
Phase 2.1 -- Context Window module (src/context/):
- selectMessages<T>(): generic pure function, selects most-recent contiguous
  block of messages within a token budget
- OverflowReport: droppedCount + estimatedDroppedTokens for compaction triggering
- estimateStringTokens(): utility for Agent Loop budget computation
- Zero module dependencies (token estimation injected as parameter)
- 24 tests

Resolves integration trace gaps #2 (token estimation injection) and
#6 (estimateStringTokens utility).

https://claude.ai/code/session_01MWzoqgApheUsoZX2oAa2gw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants