Restructure into a dual-language (TypeScript + Python) library - #4
Merged
Conversation
- Move the TypeScript pnpm workspace into typescript/ as a unit (build unchanged: install + typecheck pass, example 01 runs identically). - Add python/: a real, dependency-free core (Transform, a runner that is sequential by default and a general DAG when given connections, RunContext signals) plus math.sigmoid; evaluators/feedback scaffolded for parity. Smoke test passes with plain python3. - docs/: add philosophy.md, development.md, structure.md; note dual-language in 00-overview and reframe linearity as a default, not a design limit. - Start CHANGELOG.md (entry 1 = this restructure; Change/Why/Domain/Languages). - Rewrite README for the dual-language layout. Restructure only; features and full Python parity follow in both languages. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restructure-only PR. Sets cmg up as a dual-language library (TypeScript + Python) with docs, a changelog, and the philosophy embedded, before any features.
What changed
typescript/as a unit, so every internal relative path is preserved. Verified:pnpm install+pnpm typecheckpass and example 01 runs identically.python/): a real, dependency-freecore(Transform, a runner that is sequential by default and a general DAG when givenconnections,RunContextsignals ->TraceStep.metadata) plusmath.sigmoid(forward + derivative).evaluators/feedbackare scaffolded for parity.python3 tests/test_smoke.pypasses (covers a linear graph, a non-linear merge, and sigmoid).philosophy.md(a CS engineer and an aerospace engineer can both use it; general tools over domain lock-in; the curse-of-expertise guard; problem-first plus small investigation),development.md(the acceptance discipline: parity in both languages, use-case-pulled, simple capability with hidden theory, a changelog entry per change),structure.md(the dual-language layout).00-overview.mdnotes dual-language and reframes linearity as a default, not a limit.Layout
Scope
Restructure only. No feature code, no
modelgraphchanges, no DAG rewrite of the TS runner (reframed in docs only). Features and full Python parity land next, in both languages.🤖 Generated with Claude Code