mirror of
https://github.com/muchq/MoonBase.git
synced 2026-08-10 06:46:07 +00:00
exploratory monorepo playground
https://muchq.com
- Java 35.5%
- Go 23.7%
- C++ 21.3%
- Rust 9.3%
- Starlark 3.4%
- Other 6.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
MAX_ALL_PATHS_RESULTS was checked after the target push and only ever stopped further descent, never a push. A frame entered while there was still room walked its neighbours regardless, and stepping into the target pushed unconditionally — so every frame already past its own check could add one more path once the bound had been reached, and find_all_paths could return more than 1000 paths. Moving the check above the target branch applies it to every path into result. //domains/games/apis/mithril depends on this, so the unbounded return was reachable from a service rather than confined to a library. The existing dense-graph test asserts the right property but caught this about 2 runs in 25, because build_graph iterates HashMaps and Rust seeds their order randomly per process — so traversal order, and with it whether the overshoot happens at all, changed run to run. That reads as a flaky test rather than as the bug report it was, and CI reddening a few percent of the time on unrelated PRs teaches people to re-run instead of read. The new test builds the graph directly instead of through build_graph. dfs_all_paths walks edges[u], which is a Vec, and the HashMaps it consults are only ever read by key — so with the adjacency lists written out the traversal is deterministic. target is the last neighbour of every a node, so each a frame generates its paths through the b layer first and only then steps to target, which is the ordering the overshoot needs. 1240 paths exist within the depth limit, so the walk always crosses 1000. Measured, rather than assumed: before the fix 25 / 25 runs fail, always at exactly 1001 paths after the fix 40 / 40 runs pass, and the old flake is gone with it It also asserts the count equals the cap, not merely that it is under it — otherwise a change that gave up early would pass a test named for a bound. Closes #1339. Claude-Session: https://claude.ai/code/session_01DkfJ6xogDgkD7wqLc2pkBr Co-authored-by: Claude <noreply@anthropic.com> |
||
| .github | ||
| .vscode | ||
| bazel | ||
| deploy | ||
| docs | ||
| domains | ||
| scripts | ||
| .bazelignore | ||
| .bazelrc | ||
| .bazelversion | ||
| .clang-format | ||
| .gitignore | ||
| .scalafmt.conf | ||
| BUILD.bazel | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| clippy.toml | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| maven_install.json | ||
| MODULE.bazel | ||
| MODULE.bazel.lock | ||
| README.md | ||
| renovate.json | ||
| rustfmt.toml | ||
MoonBase
a polyglot playground for experiments in application architecture, API design, library ergonomics, and developer tooling.
Deployed Projects
| Project | URL | Description |
|---|---|---|
| muchq | muchq.com | Project landing page |
| r3dr | r3dr.net | Another URL shortener |
| 1d4 | 1d4.net | Chess game indexer web UI |
| 1d4.net MCP | mcp.1d4.net | MCP server for chess tools |
| microgpt | tty1.uk | Minimal GPT implementation |
Repository Structure
The repository is organized into domains, each containing its own libraries, APIs, and applications.
- 🎨 Graphics: Ray tracers, image processing, and rendering tools.
- 🎮 Games: Game engines, chess tools, and multiplayer backends.
- 🌐 Platform: Core infrastructure, gRPC/HTTP wrappers, and utilities.
- 🔗 r3dr: URL shortening ecosystem.
- 💬 Chat: Real-time communication services.
- 🤖 AI: Neural network and machine learning experiments.
- 🏆 Leet: Algorithmic solutions and C utility libraries.
Getting Started
- Build & IDE Instructions: How to build the project and set up your development environment.
- Importing Projects: Guidelines for adding new projects to MoonBase.
- Working Agreement: How work gets picked up, reviewed, verified, and shipped — the review panel, the testing bar, and what CI does and doesn't gate.
- Testing Notes: Checking that tests can actually fail, and the traps that only show up in CI or on another platform.