Dial back voice fingerprints ~20%
Removed stacked fingerprints from opening sentences -
was trying too hard. Kept the voice, lost the forcing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
6077386
Rewrite all journey pages with Roger's voice spec
Applied consistent communication style across all wiki pages:
- "So, ..." as standalone second-sentence pivots
- "basically just" reductions
- "OK, ..." and "Nice, right?" conversational stepping
- "But:" stop signs before contrast points
- ":-)" after gotchas
- "//Roger" sign-offs
- Short paragraphs, crisp principles at end
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
b9580bd
Remove made-up Test262 percentages - be honest about what we don't remember
134dbf7
Weave tooling stories into journey chapters
Each tool now appears where the need arose:
- Chapter 4: TestRunner for handling 93k tests that hang/crash/OOM
- Chapter 8: Profiler for validating IR performance claims
- Chapter 9: QuickDup and Roslyn diagnostics for cleanup
- Chapter 10: GitHub Issues as persistent AI agent memory
Chapter 11 reframed as "Build What You Need" - the philosophy
of building tools in the agentic era.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
a6ffb82
Add Chapter 11: Tooling - profiler, test runner, quickdup
Documents the custom tools built to support the project:
- Asynkron.Profiler: Terminal-based profiler for AI agents
- Asynkron.TestRunner: Isolated test coordinator for 93k tests
- Asynkron.QuickDup: Ultra-fast code duplication detection
- Roslyn diagnostics cranked to error level
- GitHub Issues as persistent AI agent memory
Also fixes Test262 count to 93,000+ throughout.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1763d5d
Fix Test262 count: 93,000+ tests, not 80,822
b3357b9
Rewrite all Developer Journey chapters in first-person voice
Converted all 11 wiki pages from third-person documentation style to
Roger's personal voice - casual, direct, with "how hard can it be"
energy and self-deprecating humor throughout.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
d1c30ad
Add original Codex output summary
23 files, one prompt, a working JS engine with tests.
Documents the exact Codex web output that started the project.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
aa80f83
Add the original prompt that started the project
The three-sentence Codex prompt that sparked 3,036 commits:
'I want to create a JS execution engine using C#...'
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1611e89
Add true origin story: Codex-generated JsLispEngine in OTelMCP
The original code was generated in asynkron/Asynkron.OTelMCP on the
codex/create-js-execution-engine-in-c# branch. Key differences:
- Used Esprima for parsing (later replaced with handwritten parser)
- Called JsLispEngine (renamed to Evaluator)
- SExpression.cs was split into Cons.cs and Symbol.cs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2192c99
Add Developer Journey wiki - chronicle of building the engine
11 pages documenting the evolution from Lisp-inspired S-expression
interpreter to IR-based execution engine:
- Genesis: Cons cells, Symbol interning, Lisp evaluator
- CPS for Async: Continuation-passing style transformation
- Generators: YieldTracker and state machines
- Test262: ECMAScript conformance testing
- TypedAST: Migration from Cons to typed nodes
- Source Generators: Roslyn code generation
- Async Remake: Complete async system overhaul
- IR Revolution: Three-headed hydra → unified execution
- AST Quarantine: Legacy namespace migration
- Human Moments: "works" commits, breakthroughs, mysteries
Covers the remarkable era with 3 simultaneous execution models
(AST for sync, CPS for async, IR for generators).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
0d8aac2
Updated Generators and Async (markdown)
87eabae
Updated Generators and Async (markdown)
5a33672
Add Source-Generator-Architecture docs and update index
90988e2
Add remaining StdLib docs: Atomics, Intl, Generators, Disposables, Browser APIs
fab4995
Add comprehensive Standard Library documentation - all built-in types with method implementation status
893b5b0
Add BigInt, WeakCollections, Iterator Protocol wiki pages
0e3497b
Add Execution-Tiers.md - documents AST/IR/bytecode/IL roadmap
9234098
Add Error-Signaling.md wiki page
Documents the dual error handling mechanism:
- ICompletionSignal for fast internal control flow (throw, return, break, continue, yield, await)
- ThrowSignal exception for boundary crossing
- CompletionState save/restore for try-finally
- When to use each mechanism and conversion patterns
5c0d947
Add Advanced Topics wiki pages
- Proxy-and-Reflect.md: 13 trap handlers, revocable proxies, Reflect operations
- RegExp-Implementation.md: JS-to-.NET pattern translation, Unicode mode, surrogates
- Symbol-System.md: JsSymbol vs Symbol atoms, global registry, well-known symbols
- Temporal-API.md: TC39 Temporal proposal, nanosecond precision, timezone support
- Pooling-Deep-Dive.md: BucketedArrayPool, IsCaptured pattern, lock-free algorithms
- Update Home.md with Advanced Topics section in Quick Links
6dcc0e2
Add 6 new wiki pages with Mermaid diagrams
New pages:
- Host-Integration-API: Embedding guide, SetGlobalValue, module loaders, .NET/JS bridging
- Standard-Library-Architecture: Attribute-based prototypes, constructor patterns, RealmState
- Promise-and-Microtasks: Promise states, microtask queue, handler processing, await
- ES-Modules: Import/export, module loading, live bindings, async modules
- JsObject-and-Properties: Property descriptors, prototype chains, extensibility control
- Scope-Analysis: Hoisting, TDZ, slot assignment, HoistPlan
Updated Home.md with reorganized Quick Links table (Core Concepts, Execution, Integration)
e21e932
Updated Architecture Overview (markdown)
77e2b5e
Add Mermaid.js diagrams to wiki pages
- Architecture-Overview: execution flow, lowering pipeline, function variants
- IR-Execution: dispatch loop, exception handling, generator state machine
- JsEnvironment-and-Slots: access levels, flat slot mapping
- Generators-and-Async: overview flow, await handling
- JsValue-System: type hierarchy
- Performance-Patterns: pooling lifecycle, fast/slow path
- Home: simplified execution and lowering diagrams
- Testing: AST traversal helpers
967b75c
Add Testing page with IR logging, AST access, and test helpers
- ExecutionPlanPrinter usage for printing IR plans
- ExecutionPlanDiagnostics for tracking plan build success/failure
- AstTestHelpers for finding and walking AST nodes
- IAstCacheable pattern for accessing cached plans (ExecutionPlanCache, HoistPlan, LoopPlan)
- TestLogger for capturing and asserting on log messages
- __debug() function for capturing execution context
- Compile-time debug features (TRACE_IR_EXECUTION, DISABLE_POOLING)
- Complete test workflow example
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
af54dd2
Add comprehensive wiki documentation pages
- Architecture-Overview: Execution model, AST vs IR, function variants
- JsValue-System: Tagged union, value representation, overload pattern
- JsEnvironment-and-Slots: Named/slot/flat slot variable access
- IR-Execution: Dispatch table, instruction handlers, execution loop
- Generators-and-Async: Generators, async functions, yield mechanics
- Performance-Patterns: Pooling, fast/slow paths, caching strategies
- Debugging: Pool guards, AST-free assertions, logger diagnostics
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7f4bb3b
Add comprehensive Table of Contents
- Core concepts: execution model, key types, variable access
- IR system: lowering, emitters, dispatch table
- Function variants: sync, generator, async, async generator
- Performance patterns: pooling, fast/slow split, signals
- Debugging: pool guards, AST-free assertions
- Links to agent how-to guides and docs
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
83e041e