Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 5 additions & 5 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Tests using network sockets require special initialization handling:
```cpp
#include <gtest/gtest.h>
extern "C" {
#include "port/io_reactor.h"
#include "async/async_runtime.h"
#include "port/socket_comm.h" // Provides create_test_socket_pair()
}
```
Expand All @@ -115,9 +115,9 @@ static ::testing::Environment* const winsock_env =
```

**Test File Organization**:
- Main test file (e.g., `test_io_reactor_main.cpp`): Contains WinsockEnvironment and GoogleTest main()
- Individual test files (e.g., `test_io_reactor_console.cpp`): Include common header, write tests
- Common header (e.g., `test_io_reactor_common.h`): Shared includes and helper functions
- Main test file (e.g., `test_async_worker_main.cpp`): Contains WinsockEnvironment and GoogleTest main()
- Individual test files (e.g., `test_async_worker_basic.cpp`): Include common header, write tests
- Common header (e.g., `test_async_worker_common.h`): Shared includes and helper functions

### Running
```bash
Expand Down Expand Up @@ -351,7 +351,7 @@ Neolith can save compiled programs to `.b` files (enabled via `#pragma save_bina
### Documentation Best Practices
1. **Don't duplicate implemented code in documentation**
- Once code is committed and tested, reference it with links instead of copying it
- Example: "See [io_reactor.h](lib/port/io_reactor.h)" not full API declarations
- Example: "See [async_runtime.h](lib/async/async_runtime.h)" not full API declarations
2. **Explain committed code concisely**
- Document WHY decisions were made, not HOW the code works (code shows that)
- Focus on design rationale, platform differences, integration patterns
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ if(BUILD_TESTING)
message(STATUS "Found GoogleTest")
add_subdirectory(tests/test_async_queue)
add_subdirectory(tests/test_async_worker)
add_subdirectory(tests/test_console_worker)
add_subdirectory(tests/test_backend)
add_subdirectory(tests/test_efuns)
add_subdirectory(tests/test_io_reactor)
add_subdirectory(tests/test_logger)
add_subdirectory(tests/test_lpc_compiler)
add_subdirectory(tests/test_lpc_interpreter)
Expand Down
88 changes: 88 additions & 0 deletions docs/history/agent-reports/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Agent Implementation Reports - Index

This directory contains historical implementation reports and design documents from AI-assisted development sessions.

## Active Implementation Reports

### Async Library Implementation

| Report | Date | Status | Description |
|--------|------|--------|-------------|
| [async-library-phase1-implementation.md](async-library-phase1-implementation.md) | 2026-01-15 | ✅ Complete | Phase 1 async runtime primitives (queues, workers, IOCP/epoll) |
| [async-phase2-console-worker-2026-01-20.md](async-phase2-console-worker-2026-01-20.md) | 2026-01-20 | ✅ Complete | Phase 2 console worker implementation with testbot integration |
| [console-async-plan-archived.md](console-async-plan-archived.md) | 2026-01-02 (archived 2026-01-20) | 📦 Archived Plan | Original console worker design (implementation now complete) |

### Console/Testbot Integration

| Report | Date | Status | Description |
|--------|------|--------|-------------|
| [console-testbot-phase1.md](console-testbot-phase1.md) | - | ✅ Complete | Phase 1: Console detection and type enumeration |
| [console-testbot-phase2.md](console-testbot-phase2.md) | - | ✅ Complete | Phase 2: Piped stdin polling implementation |
| [console-testbot-phase3-complete.md](console-testbot-phase3-complete.md) | - | ✅ Complete | Phase 3: testbot.py integration and validation |

### I/O Reactor Migration (Historical)

| Report | Date | Status | Description |
|--------|------|--------|-------------|
| [io-reactor-migration-2026-01-20.md](io-reactor-migration-2026-01-20.md) | 2026-01-20 | ✅ Complete | Migration from io_reactor to async_runtime |
| [io-reactor-design-2025.md](io-reactor-design-2025.md) | 2025 | 🏛️ Historical | Original io_reactor unified design (replaced by async_runtime) |
| [io-reactor-linux-design-2025.md](io-reactor-linux-design-2025.md) | 2025 | 🏛️ Historical | Linux-specific io_reactor implementation (replaced by async_runtime_epoll) |
| [io-reactor-windows-design-2025.md](io-reactor-windows-design-2025.md) | 2025 | 🏛️ Historical | Windows-specific io_reactor implementation (replaced by async_runtime_iocp) |
| [io-reactor-phase1.md](io-reactor-phase1.md) | - | 🏛️ Historical | Phase 1: Initial io_reactor design |
| [io-reactor-phase2.md](io-reactor-phase2.md) | - | 🏛️ Historical | Phase 2: Cross-platform io_reactor implementation |
| [io-reactor-phase3-console-support.md](io-reactor-phase3-console-support.md) | - | 🏛️ Historical | Phase 3: Console integration (concept replaced) |
| [io-reactor-phase3-review.md](io-reactor-phase3-review.md) | - | 🏛️ Historical | Phase 3 review and lessons learned |

### Analysis Documents

| Report | Date | Description |
|--------|------|-------------|
| [piped-stdin-delay-analysis.md](piped-stdin-delay-analysis.md) | - | Root cause analysis of 60-second testbot delay (solved in Phase 2) |

---

## Document Status Legend

- ✅ **Complete**: Implementation finished, tests passing, in production
- 📦 **Archived Plan**: Planning document for completed implementation
- 🏛️ **Historical**: Superseded design/implementation (kept for reference)
- ⏳ **In Progress**: Active development
- 📋 **Planned**: Approved for future implementation

---

## Related Documentation

### Technical Design
- [docs/internals/async-library.md](../../internals/async-library.md) - Async library architecture
- [docs/manual/async.md](../../manual/async.md) - Async library user guide
- [docs/history/async-support.md](../async-support.md) - Async roadmap and quick reference (archived - completed)

### Implementation Files
- [lib/async/](../../../lib/async/) - Async library source code
- [tests/test_async_*/](../../../tests/) - Unit test suites

---

## How to Use This Directory

### When Reviewing History
1. Check this index for relevant implementation period
2. Read the implementation report for detailed design decisions
3. Cross-reference with source code and tests

### When Planning New Features
1. Review similar implementation reports for patterns
2. Follow established documentation style (Executive Summary, Problem Statement, Deliverables, etc.)
3. Link to related active documentation in [docs/manual/](../../manual/) and [docs/internals/](../../internals/)

### When Archiving Documents
1. Add completion banner to archived document
2. Update this index with new entry
3. Update references in active documentation to point to implementation reports (not archived plans)
4. Mark status as "📦 Archived Plan" or "🏛️ Historical"

---

**Last Updated**: 2026-01-20
**Maintainer**: Neolith Development Team + AI Agent
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ Phase 1 primitives support all 6 validated use cases:

### Phase 2: Console Worker (Next Priority)

See [console-async.md](../plan/console-async.md) for implementation plan.
See [async-phase2-console-worker-2026-01-20.md](async-phase2-console-worker-2026-01-20.md) for implementation report.

**Target**: Windows console with native line editing + testbot instant commands.

Expand Down
Loading
Loading