Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
175af60
Remove default REPL pager path
t-kalinowski Mar 21, 2026
67a7878
Fix pending output regressions
t-kalinowski Mar 21, 2026
6780f81
Fix pager feature build and session end notice
t-kalinowski Mar 21, 2026
96d5bab
Upgrade Rust dependencies
t-kalinowski Mar 21, 2026
014fb1f
Pin ark dependencies to a fixed revision
t-kalinowski Mar 21, 2026
7cad105
Add agent-first docs map
t-kalinowski Mar 22, 2026
07171af
Prefer plain paths in agent docs
t-kalinowski Mar 22, 2026
3b70008
Remove eval mentions from agent docs
t-kalinowski Mar 22, 2026
ada3d61
Simplify docs contract tests
t-kalinowski Mar 22, 2026
8b0baed
update planning guidance in AGENTS.md
t-kalinowski Mar 22, 2026
db9f64e
Refine plan guidance and active initiative plan
t-kalinowski Mar 22, 2026
6c1ed7b
Clarify long-term direction in plans
t-kalinowski Mar 22, 2026
4773d7c
Add server-owned spill files for oversized replies
t-kalinowski Mar 22, 2026
934a940
Add output spill bundles for oversized image replies
t-kalinowski Mar 22, 2026
58f0ad5
Rename spill bundles to output bundles
t-kalinowski Mar 22, 2026
d1ee50b
Bound output bundle retention and cleanup
t-kalinowski Mar 22, 2026
54f542b
Lazily materialize output bundle artifacts
t-kalinowski Mar 22, 2026
a141df0
Remove public mcpConsole image metadata
t-kalinowski Mar 23, 2026
36a2b30
Clean up plot snapshot metadata coverage
t-kalinowski Mar 23, 2026
ba57599
Handle timeout bundle I/O failures gracefully
t-kalinowski Mar 23, 2026
0ed7a2d
Add grace window before text output spills
t-kalinowski Mar 23, 2026
ade6ac5
Preserve image history in output bundles
t-kalinowski Mar 23, 2026
649dedc
Add future-work plan for per-turn history bundles
t-kalinowski Mar 23, 2026
ce27011
Add plan for Python help contract repair
t-kalinowski Mar 23, 2026
5140444
Fix output bundle fallback handling
t-kalinowski Mar 23, 2026
669c807
Preserve content origins in pager search
t-kalinowski Mar 23, 2026
d334dff
Fix timeout output bundle lifecycle
t-kalinowski Mar 23, 2026
bb726b6
Add partial-line output bundle regression test
t-kalinowski Mar 23, 2026
c7daf95
Handle output bundle tempdir failures
t-kalinowski Mar 23, 2026
11200c7
update docs
t-kalinowski Mar 23, 2026
1449ce2
Handle missing output bundle anchors gracefully
t-kalinowski Mar 23, 2026
43955f3
Fix Windows bundle-path parsing in tests
t-kalinowski Mar 23, 2026
339f211
Fix output bundle cleanup and output origins
t-kalinowski Mar 24, 2026
c261dfe
Fix output bundle request boundaries
t-kalinowski Mar 24, 2026
60be27a
Fix output bundle restart and history edge cases
t-kalinowski Mar 24, 2026
4853935
Keep timed-out output on one bundle path
t-kalinowski Mar 24, 2026
60b1cb1
Fix timeout follow-up compaction and blank lines
t-kalinowski Mar 24, 2026
a2f9957
Protect active timeout bundle during follow-up compaction
t-kalinowski Mar 24, 2026
0d9ebab
Separate fresh follow-up timeouts from prior bundles
t-kalinowski Mar 24, 2026
f33375d
Stabilize detached idle python backend test
t-kalinowski Mar 24, 2026
f1e5283
Preserve disclosed follow-up bundles and tail origins
t-kalinowski Mar 24, 2026
9f8581f
Clarify output bundle status marker contract
t-kalinowski Mar 25, 2026
d819d83
Harden timeout bundle tests on Windows
t-kalinowski Mar 25, 2026
772ce36
Fix idle polls and collapsed plot bundle counting
t-kalinowski Mar 25, 2026
a764098
Restore pager command dispatch in pager builds
t-kalinowski Mar 25, 2026
ee2e156
Relax timeout spill threshold timing assumption
t-kalinowski Mar 25, 2026
00e96a4
Poll manual renders until busy clears
t-kalinowski Mar 25, 2026
39884d4
Split mixed-origin pending output tails
t-kalinowski Mar 25, 2026
dffefe3
Flush detached UTF-8 tails at request boundaries
t-kalinowski Mar 25, 2026
6fb1bff
Relax Python interrupt recovery timing on macOS
t-kalinowski Mar 25, 2026
f5bccf9
Fix reply metadata and pager completion settling
t-kalinowski Mar 25, 2026
0c102f3
Tighten detached prefix reset test
t-kalinowski Mar 25, 2026
7ce28f5
Relax late timeout spill poll assertion
t-kalinowski Mar 25, 2026
e627a9b
Keep pager metadata out of transcripts
t-kalinowski Mar 25, 2026
6a95474
Add runtime oversized-output mode
t-kalinowski Mar 26, 2026
bfb2f87
Finalize oversized-output runtime cleanup
t-kalinowski Mar 26, 2026
c44baa4
Fix timeout bundle and tape ordering regressions
t-kalinowski Mar 26, 2026
10e902d
Tighten clippy warnings policy
t-kalinowski Mar 26, 2026
e0b350c
Fix files-mode worker lifetime ordering
t-kalinowski Mar 26, 2026
9231ee4
Fix pager capture and timeout bundle reuse
t-kalinowski Mar 26, 2026
0f41565
Fix detached prefix follow-up compaction
t-kalinowski Mar 26, 2026
55949da
Fix timeout bundle follow-up state retention
t-kalinowski Mar 26, 2026
3a3f654
Preserve UTF-8 tails across sideband events
t-kalinowski Mar 26, 2026
ff5a192
Show final bundled frame for image updates
t-kalinowski Mar 27, 2026
9e1c957
Document character-based spill threshold
t-kalinowski Mar 27, 2026
82c7e73
Fix late echo completion settling
t-kalinowski Mar 27, 2026
3f34cc2
Fix timeout spill and pager prefix tracking
t-kalinowski Mar 27, 2026
ebe6d12
Fix timeout image bundle follow-up replies
t-kalinowski Mar 27, 2026
4fd29d9
Preserve timeout state after detached prefix spill
t-kalinowski Mar 27, 2026
1f24d60
Fix bundle event-log and image preview handling
t-kalinowski Mar 27, 2026
65dfd68
Fix files-mode timeout finalization paths
t-kalinowski Mar 27, 2026
32473e3
Fix multiline completion echo settling
t-kalinowski Mar 27, 2026
e0a5834
Surface sideband ordering violations
t-kalinowski Mar 27, 2026
10a0f89
Trim safe leading echo prefixes in files mode
t-kalinowski Mar 27, 2026
547283b
Fix timeout bundle follow-up handling
t-kalinowski Mar 27, 2026
d8b4d45
Default bare mcp-repl to pager and fix echo trimming
t-kalinowski Mar 27, 2026
737aac1
Bump version to 0.2.0-dev
t-kalinowski Mar 27, 2026
85e9e14
Fix timeout reply staging and echo trimming
t-kalinowski Mar 27, 2026
b431542
Rename console status messages to repl
t-kalinowski Mar 27, 2026
74a3730
Copyedit README wording
t-kalinowski Mar 27, 2026
9bfbd7e
Preserve detached-prefix metadata across session reset
t-kalinowski Mar 27, 2026
b57775f
Carry echo trimming across drained snapshots
t-kalinowski Mar 27, 2026
d6fc962
Fix Windows CI failures
t-kalinowski Mar 27, 2026
e9f416a
Preserve non-REPL readline transcripts
t-kalinowski Mar 27, 2026
006c171
Clarify REPL debugger support in tool descriptions
t-kalinowski Mar 27, 2026
917c8e1
Fix write_stdin behavior tests on Windows
t-kalinowski Mar 27, 2026
ec17170
Fix late echo boundary handling
t-kalinowski Mar 27, 2026
8a1ebaf
Stabilize hidden timeout bundle spill test
t-kalinowski Mar 27, 2026
5b4472d
Stabilize debug repl prompt tests
t-kalinowski Mar 27, 2026
3c640b2
Make request-end ordering explicit
t-kalinowski Mar 27, 2026
f200e20
Serialize Windows CI test runs
t-kalinowski Mar 27, 2026
deb3669
Fix fast completion echo retention
t-kalinowski Mar 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,12 @@ jobs:
run: cargo clippy --all-targets --all-features

- name: cargo test (skip client integrations)
if: matrix.os != 'windows-latest'
run: cargo test -- --skip codex_tui_initial_sandbox_state --skip codex_tui_initial_sandbox_state_windows_stub

- name: cargo test (windows serial, skip client integrations)
if: matrix.os == 'windows-latest'
run: cargo test -j 1 -- --test-threads=1 --skip codex_tui_initial_sandbox_state --skip codex_tui_initial_sandbox_state_windows_stub

- name: cargo +nightly fmt
run: cargo +nightly fmt --all -- --check
67 changes: 46 additions & 21 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,47 @@
# Agent Map

- If you modified code, before responding to the user, always run all tests, lints, and checks and make sure everything succeeds and returns cleanly:
- cargo check
- cargo build
- cargo clippy
- cargo test
- cargo +nightly fmt

- Project convention: never pass `--vanilla` to `R`/`Rscript` commands unless the user explicitly asks for it.

- Snapshot tests (insta):
- Preferred local loop:
- `cargo insta test`
- `cargo insta pending-snapshots`
- `cargo insta review` (interactive) or `cargo insta accept` / `cargo insta reject` (non-interactive)
- CI-style validation: `cargo insta test --check --unreferenced=reject`
- For intentional snapshot format/metadata migrations: `cargo insta test --force-update-snapshots --accept`
- Bulk rewrite fallback (for intentional broad refreshes): `INSTA_UPDATE=always cargo test`
- Do not manually delete `tests/snapshots/*.snap.new`; use `cargo insta reject` to clean pending snapshots canonically.
- `cargo insta ...` requires the `cargo-insta` subcommand.

At any time, you may consult the R source code at `~/github/wch/r-source` and the Python source code at `~/github/python/cpython` to investigate and resolve questions.
Keep this file short. It is a table of contents, not the full manual.

## Immediate Rules

- If you modified code, run all required checks before replying:
- `cargo check`
- `cargo build`
- `cargo clippy --all-targets --all-features -- -D warnings`
- `cargo test`
- `cargo +nightly fmt`
- Treat all clippy warnings as failures. Do not leave warning cleanup for later.
- Never pass `--vanilla` to `R` or `Rscript` unless the user explicitly asks for it.

## Start Here

- `docs/index.md`: source-of-truth map for repository docs.
- `docs/architecture.md`: subsystem map for the binary, worker, sandbox, and eval surfaces.
- `docs/testing.md`: public verification surface and snapshot workflow.
- `docs/debugging.md`: debug logs, `--debug-repl`, and stdio tracing.
- `docs/sandbox.md`: sandbox modes and writable-root policy.
- `docs/plans/AGENTS.md`: when to create checked-in execution plans.

## Snapshot Workflow

- Preferred loop:
- `cargo insta test`
- `cargo insta pending-snapshots`
- `cargo insta review` or `cargo insta accept` / `cargo insta reject`
- CI-style validation: `cargo insta test --check --unreferenced=reject`
- For broad intentional snapshot migrations: `cargo insta test --force-update-snapshots --accept`
- Do not delete `tests/snapshots/*.snap.new` manually. Use `cargo insta reject`.

## Planning Rule

- For multi-phase refactors, redesigns, or other work that spans discovery, iteration, and implementation, keep a living plan under `docs/plans/active/` until the initiative is complete.
- Use the plan to capture design decisions, rejected options, phase boundaries, unresolved questions, and the next safe slice of work so a later agent does not need to rediscover them.
- If you pause or hand off work mid-task, update the plan before stopping.
- Do not create plan files for routine, obvious, or low-risk changes. Keep the plans area useful, not noisy.
- Move completed plans to `docs/plans/completed/`.
- Treat `docs/notes/` and `docs/futurework/` as exploratory, not normative.

## External References

- Consult `~/github/wch/r-source` for R behavior details.
- Consult `~/github/python/cpython` for Python behavior details.
Loading
Loading