codemble 0.3.0__tar.gz → 0.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. {codemble-0.3.0 → codemble-0.3.1}/CHANGELOG.md +10 -0
  2. codemble-0.3.1/PKG-INFO +219 -0
  3. {codemble-0.3.0 → codemble-0.3.1}/README.md +17 -24
  4. {codemble-0.3.0 → codemble-0.3.1}/TESTING.md +1 -4
  5. {codemble-0.3.0 → codemble-0.3.1}/codemble/__init__.py +1 -1
  6. {codemble-0.3.0 → codemble-0.3.1}/docs-site/package.json +1 -1
  7. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/early-testing.md +1 -4
  8. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/installation.md +4 -12
  9. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/introduction.md +3 -2
  10. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/quickstart.md +0 -3
  11. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/roadmap.md +1 -1
  12. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/pages/index.astro +3 -15
  13. {codemble-0.3.0 → codemble-0.3.1}/pyproject.toml +19 -2
  14. {codemble-0.3.0 → codemble-0.3.1}/web/package.json +1 -1
  15. codemble-0.3.0/.hallmark/log.json +0 -37
  16. codemble-0.3.0/.hallmark/preflight.json +0 -9
  17. codemble-0.3.0/.remember/now.md +0 -3
  18. codemble-0.3.0/.remember/tmp/last-ndc.ts +0 -1
  19. codemble-0.3.0/.remember/tmp/last-save-ts +0 -1
  20. codemble-0.3.0/.remember/tmp/last-save.json +0 -1
  21. codemble-0.3.0/.remember/tmp/save-session.pid +0 -1
  22. codemble-0.3.0/.remember/today-2026-07-19.md +0 -10
  23. codemble-0.3.0/PKG-INFO +0 -417
  24. {codemble-0.3.0 → codemble-0.3.1}/.env.example +0 -0
  25. {codemble-0.3.0 → codemble-0.3.1}/.gitattributes +0 -0
  26. {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  27. {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  28. {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/early_tester.yml +0 -0
  29. {codemble-0.3.0 → codemble-0.3.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  30. {codemble-0.3.0 → codemble-0.3.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  31. {codemble-0.3.0 → codemble-0.3.1}/.github/dependabot.yml +0 -0
  32. {codemble-0.3.0 → codemble-0.3.1}/.github/workflows/ci.yml +0 -0
  33. {codemble-0.3.0 → codemble-0.3.1}/.github/workflows/pages.yml +0 -0
  34. {codemble-0.3.0 → codemble-0.3.1}/.github/workflows/publish-pypi.yml +0 -0
  35. {codemble-0.3.0 → codemble-0.3.1}/.gitignore +0 -0
  36. {codemble-0.3.0 → codemble-0.3.1}/AGENTS.md +0 -0
  37. {codemble-0.3.0 → codemble-0.3.1}/CLAUDE.md +0 -0
  38. {codemble-0.3.0 → codemble-0.3.1}/CODE_OF_CONDUCT.md +0 -0
  39. {codemble-0.3.0 → codemble-0.3.1}/CONTRIBUTING.md +0 -0
  40. {codemble-0.3.0 → codemble-0.3.1}/LICENSE +0 -0
  41. {codemble-0.3.0 → codemble-0.3.1}/NOTICE +0 -0
  42. {codemble-0.3.0 → codemble-0.3.1}/SECURITY.md +0 -0
  43. {codemble-0.3.0 → codemble-0.3.1}/assets/demo.gif +0 -0
  44. {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/__init__.py +0 -0
  45. {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/base.py +0 -0
  46. {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/discovery.py +0 -0
  47. {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/project.py +0 -0
  48. {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/python_ast.py +0 -0
  49. {codemble-0.3.0 → codemble-0.3.1}/codemble/adapters/typescript_tree_sitter.py +0 -0
  50. {codemble-0.3.0 → codemble-0.3.1}/codemble/checks/__init__.py +0 -0
  51. {codemble-0.3.0 → codemble-0.3.1}/codemble/checks/service.py +0 -0
  52. {codemble-0.3.0 → codemble-0.3.1}/codemble/cli.py +0 -0
  53. {codemble-0.3.0 → codemble-0.3.1}/codemble/graph/__init__.py +0 -0
  54. {codemble-0.3.0 → codemble-0.3.1}/codemble/graph/finalize.py +0 -0
  55. {codemble-0.3.0 → codemble-0.3.1}/codemble/graph/layout.py +0 -0
  56. {codemble-0.3.0 → codemble-0.3.1}/codemble/lens/__init__.py +0 -0
  57. {codemble-0.3.0 → codemble-0.3.1}/codemble/lens/javascript_typescript.py +0 -0
  58. {codemble-0.3.0 → codemble-0.3.1}/codemble/lens/python.py +0 -0
  59. {codemble-0.3.0 → codemble-0.3.1}/codemble/llm/__init__.py +0 -0
  60. {codemble-0.3.0 → codemble-0.3.1}/codemble/llm/providers.py +0 -0
  61. {codemble-0.3.0 → codemble-0.3.1}/codemble/llm/study.py +0 -0
  62. {codemble-0.3.0 → codemble-0.3.1}/codemble/progress/__init__.py +0 -0
  63. {codemble-0.3.0 → codemble-0.3.1}/codemble/progress/store.py +0 -0
  64. {codemble-0.3.0 → codemble-0.3.1}/codemble/server/__init__.py +0 -0
  65. {codemble-0.3.0 → codemble-0.3.1}/codemble/server/app.py +0 -0
  66. {codemble-0.3.0 → codemble-0.3.1}/codemble/server/runtime.py +0 -0
  67. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/index-DOBVd_-M.css +0 -0
  68. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/index-cIG6GGIB.js +0 -0
  69. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  70. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  71. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
  72. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
  73. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-500-normal-C-QwvIb3.woff +0 -0
  74. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-500-normal-XI1O8euf.woff2 +0 -0
  75. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-700-normal-CkoCYOiI.woff +0 -0
  76. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/shippori-mincho-latin-700-normal-DHcmzUO5.woff2 +0 -0
  77. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/zen-kaku-gothic-new-latin-400-normal-BEdayliK.woff2 +0 -0
  78. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/assets/zen-kaku-gothic-new-latin-400-normal-CPSmNJAU.woff +0 -0
  79. {codemble-0.3.0 → codemble-0.3.1}/codemble/web_dist/index.html +0 -0
  80. {codemble-0.3.0 → codemble-0.3.1}/docs/adr/README.md +0 -0
  81. {codemble-0.3.0 → codemble-0.3.1}/docs/plans/2026-07-19-install-ux-folder-picker-design.md +0 -0
  82. {codemble-0.3.0 → codemble-0.3.1}/docs/plans/2026-07-19-install-ux-folder-picker-plan.md +0 -0
  83. {codemble-0.3.0 → codemble-0.3.1}/docs/plans/README.md +0 -0
  84. {codemble-0.3.0 → codemble-0.3.1}/docs/plans/phase-1.md +0 -0
  85. {codemble-0.3.0 → codemble-0.3.1}/docs/releases/checklist.md +0 -0
  86. {codemble-0.3.0 → codemble-0.3.1}/docs/releases/v0.1.0.md +0 -0
  87. {codemble-0.3.0 → codemble-0.3.1}/docs/releases/v0.2.0.md +0 -0
  88. {codemble-0.3.0 → codemble-0.3.1}/docs/research/README.md +0 -0
  89. {codemble-0.3.0 → codemble-0.3.1}/docs-site/.gitignore +0 -0
  90. {codemble-0.3.0 → codemble-0.3.1}/docs-site/astro.config.mjs +0 -0
  91. {codemble-0.3.0 → codemble-0.3.1}/docs-site/design.md +0 -0
  92. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/favicon-16.png +0 -0
  93. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/favicon-32.png +0 -0
  94. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon-180.png +0 -0
  95. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon-192.png +0 -0
  96. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon-512.png +0 -0
  97. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/icon.svg +0 -0
  98. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/mark-animated.svg +0 -0
  99. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/mark.svg +0 -0
  100. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/hero-chart.svg +0 -0
  101. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/hero-field.svg +0 -0
  102. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/hero-gold.svg +0 -0
  103. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/kasumi-rule.svg +0 -0
  104. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/plate-galaxy.svg +0 -0
  105. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/plate-study.svg +0 -0
  106. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/plate-system.svg +0 -0
  107. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/brand/plates/seal.svg +0 -0
  108. {codemble-0.3.0 → codemble-0.3.1}/docs-site/public/favicon.svg +0 -0
  109. {codemble-0.3.0 → codemble-0.3.1}/docs-site/scripts/build-plates.mjs +0 -0
  110. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/assets/codemble-mark-dark.svg +0 -0
  111. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/assets/codemble-mark-light.svg +0 -0
  112. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/components/Search.astro +0 -0
  113. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/components/Tatebanko.astro +0 -0
  114. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/architecture.md +0 -0
  115. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/build-from-source.md +0 -0
  116. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/checks-and-lighting.md +0 -0
  117. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/contributing.md +0 -0
  118. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/correctness.md +0 -0
  119. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m1-parser.md +0 -0
  120. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m10-polyglot-release.md +0 -0
  121. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m2-galaxy.md +0 -0
  122. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m3-study.md +0 -0
  123. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m4-lens.md +0 -0
  124. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m5-checks.md +0 -0
  125. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m6-release.md +0 -0
  126. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m8-typescript.md +0 -0
  127. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/progress/m9-typescript-lens.md +0 -0
  128. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/star-chart.md +0 -0
  129. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content/docs/the-galaxy.md +0 -0
  130. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/content.config.ts +0 -0
  131. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/styles/custom.css +0 -0
  132. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/styles/landing.css +0 -0
  133. {codemble-0.3.0 → codemble-0.3.1}/docs-site/src/styles/tokens.css +0 -0
  134. {codemble-0.3.0 → codemble-0.3.1}/scripts/dev.sh +0 -0
  135. {codemble-0.3.0 → codemble-0.3.1}/scripts/record_demo.sh +0 -0
  136. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/concepts_sample.py +0 -0
  137. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/python_worker.py +0 -0
  138. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/broken.ts +0 -0
  139. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/legacy.js +0 -0
  140. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/local.js +0 -0
  141. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/main.ts +0 -0
  142. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/reexport.ts +0 -0
  143. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/util.ts +0 -0
  144. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/polyglot/src/widget.tsx +0 -0
  145. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/.gitignore +0 -0
  146. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/ambiguous.py +0 -0
  147. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/api.py +0 -0
  148. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/app.py +0 -0
  149. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/broken.py +0 -0
  150. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/cli.py +0 -0
  151. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/__init__.py +0 -0
  152. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/helpers.py +0 -0
  153. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/service.py +0 -0
  154. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/pkg/util.py +0 -0
  155. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/runner/__main__.py +0 -0
  156. {codemble-0.3.0 → codemble-0.3.1}/tests/fixtures/sampleproj/shared.py +0 -0
  157. {codemble-0.3.0 → codemble-0.3.1}/tests/test_checks.py +0 -0
  158. {codemble-0.3.0 → codemble-0.3.1}/tests/test_graph_finalization.py +0 -0
  159. {codemble-0.3.0 → codemble-0.3.1}/tests/test_progress.py +0 -0
  160. {codemble-0.3.0 → codemble-0.3.1}/tests/test_project_parser.py +0 -0
  161. {codemble-0.3.0 → codemble-0.3.1}/tests/test_python_ast.py +0 -0
  162. {codemble-0.3.0 → codemble-0.3.1}/tests/test_server.py +0 -0
  163. {codemble-0.3.0 → codemble-0.3.1}/tests/test_smoke.py +0 -0
  164. {codemble-0.3.0 → codemble-0.3.1}/tests/test_study.py +0 -0
  165. {codemble-0.3.0 → codemble-0.3.1}/tests/test_typescript_tree_sitter.py +0 -0
  166. {codemble-0.3.0 → codemble-0.3.1}/web/README.md +0 -0
  167. {codemble-0.3.0 → codemble-0.3.1}/web/index.html +0 -0
  168. {codemble-0.3.0 → codemble-0.3.1}/web/package-lock.json +0 -0
  169. {codemble-0.3.0 → codemble-0.3.1}/web/scripts/check_graph_data.mjs +0 -0
  170. {codemble-0.3.0 → codemble-0.3.1}/web/scripts/check_learner_session.mjs +0 -0
  171. {codemble-0.3.0 → codemble-0.3.1}/web/scripts/record_demo.mjs +0 -0
  172. {codemble-0.3.0 → codemble-0.3.1}/web/src/App.jsx +0 -0
  173. {codemble-0.3.0 → codemble-0.3.1}/web/src/GalaxyCanvas.jsx +0 -0
  174. {codemble-0.3.0 → codemble-0.3.1}/web/src/graphData.js +0 -0
  175. {codemble-0.3.0 → codemble-0.3.1}/web/src/learnerSession.js +0 -0
  176. {codemble-0.3.0 → codemble-0.3.1}/web/src/main.jsx +0 -0
  177. {codemble-0.3.0 → codemble-0.3.1}/web/src/styles.css +0 -0
  178. {codemble-0.3.0 → codemble-0.3.1}/web/src/tokens.css +0 -0
  179. {codemble-0.3.0 → codemble-0.3.1}/web/vite.config.js +0 -0
@@ -5,6 +5,16 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) · Versioning:
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.3.1] - 2026-07-19
9
+
10
+ ### Changed
11
+ - Packaging metadata only, no behavior change: added PyPI classifiers (Beta
12
+ status, Python 3.11-3.13, Apache-2.0 license, dev/education audience), moved
13
+ license metadata to the PEP 639 SPDX form so the License field is concise
14
+ instead of dumping the full Apache text, made README links absolute so the
15
+ PyPI project page renders them, and excluded internal tooling directories
16
+ from the sdist.
17
+
8
18
  ## [0.3.0] - 2026-07-19
9
19
 
10
20
  ### Added
@@ -0,0 +1,219 @@
1
+ Metadata-Version: 2.4
2
+ Name: codemble
3
+ Version: 0.3.1
4
+ Summary: A learning game that turns the code AI wrote for you into a galaxy you light up by understanding it.
5
+ Project-URL: Homepage, https://udhawan97.github.io/Codemble/
6
+ Project-URL: Repository, https://github.com/udhawan97/Codemble
7
+ Author-email: Umang Dhawan <umangdhawan97@gmail.com>
8
+ License-Expression: Apache-2.0
9
+ License-File: LICENSE
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Environment :: Web Environment
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Education
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Classifier: Programming Language :: Python :: 3.13
19
+ Classifier: Topic :: Education
20
+ Classifier: Topic :: Software Development :: Documentation
21
+ Requires-Python: >=3.11
22
+ Requires-Dist: fastapi>=0.115
23
+ Requires-Dist: tree-sitter-javascript<0.26,>=0.25
24
+ Requires-Dist: tree-sitter-typescript<0.24,>=0.23.2
25
+ Requires-Dist: tree-sitter<0.27,>=0.25
26
+ Requires-Dist: uvicorn>=0.30
27
+ Provides-Extra: dev
28
+ Requires-Dist: httpx>=0.27; extra == 'dev'
29
+ Requires-Dist: pytest>=8; extra == 'dev'
30
+ Requires-Dist: ruff>=0.6; extra == 'dev'
31
+ Description-Content-Type: text/markdown
32
+
33
+
34
+ <p align="center">
35
+ <a href="https://udhawan97.github.io/Codemble/">
36
+ <img src="https://github.com/udhawan97/Codemble/raw/main/docs-site/public/brand/mark-animated.svg" alt="Codemble — an open lapis ensō whose amber star systems light up" width="152">
37
+ </a>
38
+ </p>
39
+
40
+ <h1 align="center">Codemble</h1>
41
+
42
+ <p align="center"><strong>Turn AI-built code into a galaxy you actually understand.</strong></p>
43
+
44
+ <p align="center">
45
+ Codemble is a local-first learning game for projects built with Claude Code,
46
+ Codex, and other coding agents. It maps real parser evidence into a 3D galaxy,
47
+ then lights each region only after you prove you understand it.
48
+ </p>
49
+
50
+ <p align="center"><strong>Your project · Your key · Your machine · No invented structure</strong></p>
51
+
52
+ <p align="center">
53
+ <a href="https://github.com/udhawan97/Codemble/releases/latest"><img src="https://img.shields.io/github/v/release/udhawan97/Codemble?style=flat-square&label=release&color=2b4d96" alt="Latest release"></a>
54
+ <a href="https://github.com/udhawan97/Codemble/actions/workflows/ci.yml"><img src="https://github.com/udhawan97/Codemble/actions/workflows/ci.yml/badge.svg?branch=main" alt="CI status"></a>
55
+ <img src="https://img.shields.io/badge/Python-3.11+-2b4d96?style=flat-square" alt="Python 3.11 or newer">
56
+ <img src="https://img.shields.io/badge/maps-Python_·_JavaScript_·_TypeScript-3f6ac0?style=flat-square" alt="Maps Python, JavaScript, and TypeScript projects">
57
+ <img src="https://img.shields.io/badge/license-Apache_2.0-070b1c?style=flat-square" alt="Apache 2.0 license">
58
+ </p>
59
+
60
+ <p align="center">
61
+ <a href="#quick-start">Quick start</a> ·
62
+ <a href="#how-the-learning-loop-works">Learning loop</a> ·
63
+ <a href="https://udhawan97.github.io/Codemble/">Documentation</a> ·
64
+ <a href="https://github.com/udhawan97/Codemble/blob/main/TESTING.md">Test Codemble</a>
65
+ </p>
66
+
67
+ <p align="center">
68
+ <img src="https://github.com/udhawan97/Codemble/raw/main/assets/demo.gif" alt="Codemble maps a project, enters Home, runs graph-derived checks, and lights the system" width="960">
69
+ </p>
70
+
71
+ > [!IMPORTANT]
72
+ > **Codemble is in its Phase 1 tester release.** It maps Python,
73
+ > JavaScript, TypeScript, and mixed projects in one parser-proven galaxy,
74
+ > installable straight from PyPI with an in-app project picker. The
75
+ > technical release is complete; unaided learner runs are the evidence still
76
+ > being collected. [Try the ten-minute tester loop](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
77
+
78
+ ## Quick start
79
+
80
+ ```bash
81
+ uvx codemble # or: pipx install codemble && codemble
82
+ ```
83
+
84
+ Codemble opens your browser — pick your project folder there. To skip the
85
+ picker, pass a path: `codemble ./your-ai-built-project`.
86
+
87
+ The wheel already contains the web app, so Node.js is not required. No API key
88
+ is needed for the galaxy, source viewer, language Lens, checks, lighting, or
89
+ saved progress. Add your own Anthropic or OpenAI key only if you want grounded
90
+ prose explanations:
91
+
92
+ ```bash
93
+ export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY=sk-...
94
+ ```
95
+
96
+ [Installation, configuration, and troubleshooting →](https://udhawan97.github.io/Codemble/installation/)
97
+
98
+ ## How the learning loop works
99
+
100
+ | Step | What Codemble does | What you gain |
101
+ | --- | --- | --- |
102
+ | **1. Chart** | Parses your project without running its code or package scripts | A deterministic map made from source evidence |
103
+ | **2. Navigate** | Guides you from galaxy → system → study on scripted camera rails | Orientation without getting lost in free flight |
104
+ | **3. Study** | Shows the real source, exact line numbers, neighbors, and parser-detected language idioms | Context tied to code you can inspect |
105
+ | **4. Prove** | Generates and scores checks from the graph—never from the model | A region lights only when understanding is demonstrated |
106
+ | **5. Return** | Saves progress locally; changing one file re-dims only its module | A living map that stays honest as the project changes |
107
+
108
+ No XP. No streaks. No leaderboard. The visible reward is the useful one: more
109
+ of your own code becomes a sky you understand.
110
+
111
+ ## Read the galaxy
112
+
113
+ | In the galaxy | In your project |
114
+ | --- | --- |
115
+ | A star system | One source module |
116
+ | A planet | A function or class |
117
+ | The Home system | The selected parser-ranked entrypoint |
118
+ | A route or edge | An import or call; approximate calls are labeled **possible** |
119
+ | Size | Lines of code |
120
+ | Brightness | Structural centrality |
121
+ | Dim → lit | Not yet proven → understood |
122
+
123
+ Python-only, JavaScript-only, TypeScript-only, and mixed projects share the same
124
+ graph contract. Language focus changes only what you are looking at; it never
125
+ changes coordinates, progress, or parser truth.
126
+
127
+ ## Honest by construction
128
+
129
+ Codemble is built for learners who may not yet be able to spot a confident
130
+ mistake. Accuracy therefore outranks spectacle:
131
+
132
+ - Structure, entrypoints, concepts, imports, and calls come from parsers.
133
+ - Every explanation points to a real `file:line` and may name only supplied
134
+ identifiers and relationships.
135
+ - Language Lens notes appear only where a parser detected the construct.
136
+ - Check answers come from the graph, never an LLM.
137
+ - Approximate relationships stay visibly uncertain.
138
+ - Provider output that fails grounding validation is withheld instead of being
139
+ softened into a guess.
140
+
141
+ Read the full [correctness contract](https://udhawan97.github.io/Codemble/correctness/).
142
+ A wrong explanation is a highest-severity bug—[report it without mercy](https://github.com/udhawan97/Codemble/issues).
143
+
144
+ ## Local-first, with an explicit AI boundary
145
+
146
+ | Stays on your machine | Leaves only when you ask |
147
+ | --- | --- |
148
+ | Project discovery and parsing | The bounded Study context sent to your configured provider |
149
+ | Graph, language Lens, and checks | A request triggered only when you open Study |
150
+ | Local server and packaged web app | Nothing in the background |
151
+ | Progress and explanation cache in `~/.codemble/` | No accounts, telemetry, or Codemble cloud |
152
+
153
+ No key? Codemble remains a complete parser-backed map and learning game; only
154
+ the optional prose narration is unavailable.
155
+
156
+ ## Boundaries that keep the map truthful
157
+
158
+ - **Supported source:** Python 3.11+, JavaScript/JSX, TypeScript/TSX, and mixed
159
+ projects. Unsupported languages stay outside the graph rather than being guessed.
160
+ - **Scale:** above roughly 300 supported source files, choose a subdirectory —
161
+ the in-app picker prompts for the scope, or pass
162
+ `codemble --path ./project/subdirectory`.
163
+ - **Ambiguous Home:** choose a parser-ranked entrypoint in the app or pass
164
+ `--entrypoint NODE_ID`.
165
+ - **Broken source:** syntax errors remain visible; Codemble maps safe partial
166
+ evidence instead of crashing or inventing the missing structure.
167
+ - **Rendering:** WebGL is required. There is intentionally no misleading 2D
168
+ fallback in this release.
169
+
170
+ ## Help test the release
171
+
172
+ The most valuable contribution right now is not a feature request. It is a
173
+ first run on a real AI-built project:
174
+
175
+ 1. Follow the [ten-minute tester guide](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
176
+ 2. Light at least one system.
177
+ 3. Report confusion verbatim—never paste private source or API keys.
178
+
179
+ [Open an early-tester report →](https://github.com/udhawan97/Codemble/issues/new?template=early_tester.yml)
180
+
181
+ ## Develop
182
+
183
+ ```bash
184
+ python -m venv .venv && source .venv/bin/activate
185
+ pip install -e ".[dev]"
186
+ pytest && ruff check .
187
+
188
+ (cd web && npm install && npm run check)
189
+ (cd docs-site && npm install && npm run check && npm run build)
190
+ ```
191
+
192
+ The load-bearing design and architecture contracts are documented, not implied:
193
+
194
+ - [Architecture](https://udhawan97.github.io/Codemble/architecture/)
195
+ - [Contributing](https://github.com/udhawan97/Codemble/blob/main/CONTRIBUTING.md)
196
+ - [Formal Edo design system](https://github.com/udhawan97/Codemble/blob/main/docs-site/design.md)
197
+ - [Agent operating guide and current state](https://github.com/udhawan97/Codemble/blob/main/CLAUDE.md)
198
+
199
+ ## Roadmap
200
+
201
+ | Horizon | Work |
202
+ | --- | --- |
203
+ | **Now** | Collect unaided first-run evidence on the current release across supported project types |
204
+ | **Next** | Go, Rust, and Java adapters; level-of-detail rendering for larger repositories |
205
+ | **Later** | Read-only share links, new quest types, and the coordinated public launch |
206
+
207
+ The [public roadmap](https://udhawan97.github.io/Codemble/roadmap/) separates
208
+ shipped work from planned work. Milestones move only when their acceptance
209
+ evidence exists.
210
+
211
+ ## License
212
+
213
+ Codemble is released under the [Apache License 2.0](https://github.com/udhawan97/Codemble/blob/main/LICENSE).
214
+
215
+ ---
216
+
217
+ <p align="center"><sub>
218
+ Built for the moment after “AI made it work” and before “I know how it works.”
219
+ </sub></p>
@@ -1,8 +1,7 @@
1
- <!-- Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V4 -->
2
1
 
3
2
  <p align="center">
4
3
  <a href="https://udhawan97.github.io/Codemble/">
5
- <img src="docs-site/public/brand/mark-animated.svg" alt="Codemble — an open lapis ensō whose amber star systems light up" width="152">
4
+ <img src="https://github.com/udhawan97/Codemble/raw/main/docs-site/public/brand/mark-animated.svg" alt="Codemble — an open lapis ensō whose amber star systems light up" width="152">
6
5
  </a>
7
6
  </p>
8
7
 
@@ -30,18 +29,19 @@
30
29
  <a href="#quick-start">Quick start</a> ·
31
30
  <a href="#how-the-learning-loop-works">Learning loop</a> ·
32
31
  <a href="https://udhawan97.github.io/Codemble/">Documentation</a> ·
33
- <a href="TESTING.md">Test v0.2.0</a>
32
+ <a href="https://github.com/udhawan97/Codemble/blob/main/TESTING.md">Test Codemble</a>
34
33
  </p>
35
34
 
36
35
  <p align="center">
37
- <img src="assets/demo.gif" alt="Codemble maps a project, enters Home, runs graph-derived checks, and lights the system" width="960">
36
+ <img src="https://github.com/udhawan97/Codemble/raw/main/assets/demo.gif" alt="Codemble maps a project, enters Home, runs graph-derived checks, and lights the system" width="960">
38
37
  </p>
39
38
 
40
39
  > [!IMPORTANT]
41
- > **v0.2.0 is the current Phase 1 tester release.** It maps Python,
42
- > JavaScript, TypeScript, and mixed projects in one parser-proven galaxy. The
40
+ > **Codemble is in its Phase 1 tester release.** It maps Python,
41
+ > JavaScript, TypeScript, and mixed projects in one parser-proven galaxy,
42
+ > installable straight from PyPI with an in-app project picker. The
43
43
  > technical release is complete; unaided learner runs are the evidence still
44
- > being collected. [Try the ten-minute tester loop](TESTING.md).
44
+ > being collected. [Try the ten-minute tester loop](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
45
45
 
46
46
  ## Quick start
47
47
 
@@ -52,17 +52,10 @@ uvx codemble # or: pipx install codemble && codemble
52
52
  Codemble opens your browser — pick your project folder there. To skip the
53
53
  picker, pass a path: `codemble ./your-ai-built-project`.
54
54
 
55
- > Until the first PyPI release (v0.3.0) lands, install from the tag instead —
56
- > v0.2.0 has no picker yet, so pass your project path:
57
- >
58
- > ```bash
59
- > pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0
60
- > codemble ./your-ai-built-project
61
- > ```
62
-
63
- The wheel already contains the web app, so Node.js is not required. No API key is needed for the galaxy,
64
- source viewer, language Lens, checks, lighting, or saved progress. Add your own
65
- Anthropic or OpenAI key only if you want grounded prose explanations:
55
+ The wheel already contains the web app, so Node.js is not required. No API key
56
+ is needed for the galaxy, source viewer, language Lens, checks, lighting, or
57
+ saved progress. Add your own Anthropic or OpenAI key only if you want grounded
58
+ prose explanations:
66
59
 
67
60
  ```bash
68
61
  export ANTHROPIC_API_KEY=sk-ant-... # or OPENAI_API_KEY=sk-...
@@ -147,7 +140,7 @@ the optional prose narration is unavailable.
147
140
  The most valuable contribution right now is not a feature request. It is a
148
141
  first run on a real AI-built project:
149
142
 
150
- 1. Follow the [ten-minute tester guide](TESTING.md).
143
+ 1. Follow the [ten-minute tester guide](https://github.com/udhawan97/Codemble/blob/main/TESTING.md).
151
144
  2. Light at least one system.
152
145
  3. Report confusion verbatim—never paste private source or API keys.
153
146
 
@@ -167,15 +160,15 @@ pytest && ruff check .
167
160
  The load-bearing design and architecture contracts are documented, not implied:
168
161
 
169
162
  - [Architecture](https://udhawan97.github.io/Codemble/architecture/)
170
- - [Contributing](CONTRIBUTING.md)
171
- - [Formal Edo design system](docs-site/design.md)
172
- - [Agent operating guide and current state](CLAUDE.md)
163
+ - [Contributing](https://github.com/udhawan97/Codemble/blob/main/CONTRIBUTING.md)
164
+ - [Formal Edo design system](https://github.com/udhawan97/Codemble/blob/main/docs-site/design.md)
165
+ - [Agent operating guide and current state](https://github.com/udhawan97/Codemble/blob/main/CLAUDE.md)
173
166
 
174
167
  ## Roadmap
175
168
 
176
169
  | Horizon | Work |
177
170
  | --- | --- |
178
- | **Now** | Collect unaided first-run evidence on v0.2.0 across supported project types |
171
+ | **Now** | Collect unaided first-run evidence on the current release across supported project types |
179
172
  | **Next** | Go, Rust, and Java adapters; level-of-detail rendering for larger repositories |
180
173
  | **Later** | Read-only share links, new quest types, and the coordinated public launch |
181
174
 
@@ -185,7 +178,7 @@ evidence exists.
185
178
 
186
179
  ## License
187
180
 
188
- Codemble is released under the [Apache License 2.0](LICENSE).
181
+ Codemble is released under the [Apache License 2.0](https://github.com/udhawan97/Codemble/blob/main/LICENSE).
189
182
 
190
183
  ---
191
184
 
@@ -1,4 +1,4 @@
1
- # Test Codemble v0.2.0
1
+ # Test Codemble
2
2
 
3
3
  Codemble needs people who built a small Python, JavaScript, TypeScript, or mixed
4
4
  project with AI and want to understand it better. This is a ten-minute first-run
@@ -24,9 +24,6 @@ uvx codemble # or: pipx install codemble && codemble
24
24
  Codemble opens your browser to an in-app picker — pick your project folder
25
25
  there, or pass one directly: `codemble ./path-to-your-project`.
26
26
 
27
- > Until the first PyPI release (v0.3.0) lands, install from the tag instead:
28
- > `pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0`
29
-
30
27
  Then, without reading the docs first:
31
28
 
32
29
  1. Identify Home, or choose it if Codemble asks.
@@ -1,4 +1,4 @@
1
1
  """Codemble — a learning game that turns the code AI wrote for you into a galaxy
2
2
  you light up by understanding it. See CLAUDE.md for the agent brief and roadmap."""
3
3
 
4
- __version__ = "0.3.0"
4
+ __version__ = "0.3.1"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codemble-docs",
3
3
  "type": "module",
4
- "version": "0.3.0",
4
+ "version": "0.3.1",
5
5
  "private": true,
6
6
  "scripts": {
7
7
  "dev": "astro dev",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: Early testing
3
- description: A ten-minute, privacy-safe first-run test for Codemble v0.2.0.
3
+ description: A ten-minute, privacy-safe first-run test for Codemble.
4
4
  ---
5
5
 
6
6
  Codemble needs learners who built a small Python, JavaScript, TypeScript, or
@@ -16,9 +16,6 @@ uvx codemble # or: pipx install codemble && codemble
16
16
  Codemble opens your browser to an in-app picker — pick your project folder
17
17
  there, or pass one directly: `codemble ./path-to-your-project`.
18
18
 
19
- > Until the first PyPI release (v0.3.0) lands, install from the tag instead:
20
- > `pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0`
21
-
22
19
  An API key is optional. Do not read the rest of the docs before the first run;
23
20
  the product should teach the loop itself.
24
21
 
@@ -3,7 +3,7 @@ title: Installation
3
3
  description: Requirements and setup, including bring-your-own-key configuration.
4
4
  ---
5
5
 
6
- :::note[v0.2.0 polyglot tester release]
6
+ :::note[Polyglot tester release]
7
7
  The complete learning loop supports Python, JavaScript, TypeScript, and mixed
8
8
  projects. Human first-run evidence is still being collected separately.
9
9
  :::
@@ -22,18 +22,10 @@ An Anthropic or OpenAI key is optional and enables only explanation prose.
22
22
  uvx codemble # or: pipx install codemble && codemble
23
23
  ```
24
24
 
25
- From v0.3.0, Codemble opens your browser to an in-app picker — browse your
25
+ Codemble opens your browser to an in-app picker — browse your
26
26
  home folders or reopen a recent project, no path typing required. To skip the
27
27
  picker, pass a path directly: `codemble ./your-project`.
28
28
 
29
- > Until the first PyPI release (v0.3.0) lands, install from the tag instead.
30
- > v0.2.0 has no picker yet, so pass your project path:
31
- >
32
- > ```bash
33
- > pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0
34
- > codemble ./your-project
35
- > ```
36
-
37
29
  The Python wheel already contains the production web app. Node is needed only
38
30
  when developing Codemble itself.
39
31
 
@@ -65,8 +57,8 @@ language lens, and checks — only the prose explanations need the model.
65
57
  ## Limits that fail honestly
66
58
 
67
59
  - More than 300 supported source files: run
68
- `codemble --path ./project/subdirectory`; from v0.3.0, the picker prompts
69
- for the same busiest-first subdirectory choice in the UI.
60
+ `codemble --path ./project/subdirectory`; the picker prompts for the same
61
+ busiest-first subdirectory choice in the UI.
70
62
  - Ambiguous startup: choose Home in the app or pass a parser-ranked node with
71
63
  `--entrypoint NODE_ID`.
72
64
  - Syntax error: the file remains visible as **Unchartable**, with raw source;
@@ -32,8 +32,9 @@ own it. You bring your own Claude or OpenAI API key; everything else runs
32
32
  locally on your machine.
33
33
 
34
34
  :::note[Status]
35
- v0.2.0 is the Phase 1 tester release. Python, JavaScript, TypeScript, and mixed
36
- projects run through the same local learning loop. The original unaided Python
35
+ Codemble is in its Phase 1 tester release, installable from PyPI. Python,
36
+ JavaScript, TypeScript, and mixed projects run through the same local learning
37
+ loop. The original unaided Python
37
38
  learner-acceptance issue remains open; technical completion does not substitute
38
39
  for human evidence. Follow on [GitHub](https://github.com/udhawan97/Codemble) —
39
40
  the roadmap stays public.
@@ -17,9 +17,6 @@ mixed project. To skip the picker, pass a path directly:
17
17
  codemble ./my-project
18
18
  ```
19
19
 
20
- > Until the first PyPI release (v0.3.0) lands, install from the tag instead:
21
- > `pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0`
22
-
23
20
  Codemble parses locally, chooses a free localhost port, and opens the galaxy.
24
21
  It keeps syntax-error files visible and labels unresolved calls instead of
25
22
  guessing. Use `--no-open` when you want to copy the printed URL yourself.
@@ -9,7 +9,7 @@ only when milestones actually complete. The shape:
9
9
 
10
10
  ## NOW — Phase 1 tester evidence
11
11
 
12
- The v0.2.0 technical release maps Python, JavaScript, TypeScript, and mixed
12
+ The Phase 1 technical release maps Python, JavaScript, TypeScript, and mixed
13
13
  projects through one local parser-proven learning loop. The current work is
14
14
  first-run evidence and correctness reports on real learner projects. The
15
15
  original v0.1.0 Python learner-acceptance issue remains open and is not treated
@@ -63,8 +63,6 @@ const contract = [
63
63
 
64
64
  const langs = ["Python", "JavaScript", "TypeScript", "Mixed projects"];
65
65
  const install = "uvx codemble";
66
- const tagInstall =
67
- "pipx install git+https://github.com/udhawan97/Codemble.git@v0.2.0";
68
66
  ---
69
67
 
70
68
  <!doctype html>
@@ -184,9 +182,7 @@ const tagInstall =
184
182
  </button>
185
183
  </div>
186
184
  <p class="hero-note">
187
- Python 3.11+ · opens your browser to pick a project · until
188
- v0.3.0 lands on PyPI,
189
- <a href={doc("installation")}>install from the tag</a>
185
+ Python 3.11+ · opens your browser to pick a project
190
186
  </p>
191
187
  </div>
192
188
  </section>
@@ -322,16 +318,8 @@ const tagInstall =
322
318
  </div>
323
319
  <p class="install-note">
324
320
  Codemble opens your browser — pick your project folder there, or
325
- skip the picker with <code>codemble ./your-project</code>. Until
326
- the first PyPI release (v0.3.0) lands, install from the tag
327
- instead:
321
+ skip the picker with <code>codemble ./your-project</code>.
328
322
  </p>
329
- <div class="cmd cmd-block">
330
- <code>{tagInstall}</code>
331
- <button type="button" data-copy={tagInstall} class="cmd-copy">
332
- <span data-copy-label>Copy</span>
333
- </button>
334
- </div>
335
323
  <p class="install-note">
336
324
  Your code is parsed locally. The only network calls are the LLM
337
325
  requests you configure, sent from your machine straight to your
@@ -358,7 +346,7 @@ const tagInstall =
358
346
  <div class="foot-row">
359
347
  <p class="foot-mark">
360
348
  <img src={`${base}/brand/mark.svg`} alt="" width="22" height="22" />
361
- Codemble · v0.2.0 tester release · Apache-2.0
349
+ Codemble · Phase 1 tester release · Apache-2.0
362
350
  </p>
363
351
  <nav class="foot-links" aria-label="Footer">
364
352
  <a href={doc("introduction")}>Docs</a>
@@ -4,12 +4,26 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "codemble"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "A learning game that turns the code AI wrote for you into a galaxy you light up by understanding it."
9
9
  readme = "README.md"
10
- license = { file = "LICENSE" }
10
+ license = "Apache-2.0"
11
+ license-files = ["LICENSE"]
11
12
  authors = [{ name = "Umang Dhawan", email = "umangdhawan97@gmail.com" }]
12
13
  requires-python = ">=3.11"
14
+ classifiers = [
15
+ "Development Status :: 4 - Beta",
16
+ "Intended Audience :: Developers",
17
+ "Intended Audience :: Education",
18
+ "Programming Language :: Python :: 3",
19
+ "Programming Language :: Python :: 3.11",
20
+ "Programming Language :: Python :: 3.12",
21
+ "Programming Language :: Python :: 3.13",
22
+ "Operating System :: OS Independent",
23
+ "Environment :: Web Environment",
24
+ "Topic :: Software Development :: Documentation",
25
+ "Topic :: Education",
26
+ ]
13
27
  dependencies = [
14
28
  "fastapi>=0.115",
15
29
  "tree-sitter>=0.25,<0.27",
@@ -36,3 +50,6 @@ exclude = ["tests/fixtures"]
36
50
  [tool.hatch.build.targets.wheel]
37
51
  packages = ["codemble"]
38
52
  include = ["codemble/web_dist/**"]
53
+
54
+ [tool.hatch.build.targets.sdist]
55
+ exclude = [".remember", ".hallmark", ".claude", ".superpowers", "docs-site/node_modules", "web/node_modules"]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "codemble-web",
3
3
  "private": true,
4
- "version": "0.3.0",
4
+ "version": "0.3.1",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -1,37 +0,0 @@
1
- [
2
- {
3
- "date": "2026-07-19",
4
- "macrostructure": "Map / Diagram",
5
- "theme": "Observatory Instrument",
6
- "enrichment": "none",
7
- "brief": "Codemble deterministic galaxy renderer",
8
- "critique": "P5 H5 E5 S5 R5 V5",
9
- "slop_test": "pass (1-57, including 38a)"
10
- },
11
- {
12
- "date": "2026-07-19",
13
- "macrostructure": "Progress Ledger",
14
- "theme": "Observatory Instrument",
15
- "enrichment": "none",
16
- "brief": "Codemble language star chart",
17
- "variation": "syntax inventory rows with graph-derived progress"
18
- },
19
- {
20
- "date": "2026-07-19",
21
- "macrostructure": "Focused Readout",
22
- "theme": "Observatory Instrument",
23
- "enrichment": "none",
24
- "brief": "Codemble graph-only active recall",
25
- "variation": "one-question system overlay with a single illumination payoff",
26
- "slop_test": "pass (plain controls, complete states, 320 px verified)"
27
- },
28
- {
29
- "date": "2026-07-19",
30
- "macrostructure": "Calibration Readout",
31
- "theme": "Observatory Instrument",
32
- "enrichment": "real product demo GIF",
33
- "brief": "Codemble ambiguous Home and Unchartable states",
34
- "variation": "ranked evidence rows, raw-source failure state, one 420ms glow pulse",
35
- "slop_test": "pass (desktop and 320 px, reduced motion, no new visual language)"
36
- }
37
- ]
@@ -1,9 +0,0 @@
1
- {
2
- "date": "2026-07-19",
3
- "design_system": "docs-site/design.md",
4
- "font_stack": ["Sora", "Inter", "JetBrains Mono"],
5
- "framework": "Vite + React",
6
- "motion": "custom house easing; no motion library",
7
- "palette": "locked Observatory Instrument tokens",
8
- "spacing": "4-point scale"
9
- }
@@ -1,3 +0,0 @@
1
-
2
- ## 07:08 | friendly-wizard-claude/work-planning-f2e933
3
- Committed modes & Ollama spec (3-tier: struct + Gemma 4 12B + cloud), reversed Non-Goal, fixed cache & endpoint bugs, phases 1-3 (backend) queued.
@@ -1 +0,0 @@
1
- 1784461401
@@ -1 +0,0 @@
1
- 1784462904
@@ -1 +0,0 @@
1
- {"session": "391dcaa8-2bc2-4cf0-b18d-6a3dca5df88e", "line": 354}
@@ -1 +0,0 @@
1
- 77217
@@ -1,10 +0,0 @@
1
- ## 01:49 | friendly-helper-claude/codemble-website-redesign-235ec9
2
- Codemble: hero→Edo atlas+tatebanko parallax (Tatebanko.astro, build-plates.mjs); expandable search+docs/nav (Search.astro); landing→numbered plates.
3
- ## 01:50 | friendly-helper-claude/codemble-website-redesign-235ec9
4
- Redesigned Codemble website (Edo star atlas); SVG plates; Tatebanko parallax hero; expandable Search; Starlight docs
5
- ## 04:35 | friendly-wizard-claude/what-to-work-on-next-c1f75f
6
- Dogfood learner loop; fixed checks/service.py (4+ ans → 0 distract); verified 5 TESTING.md steps; began UI palette
7
- ```
8
- ## 06:42 | friendly-wizard-claude/work-planning-f2e933
9
- Reopened #13; defer v0.2.1 pending web-app-install-ux merge; scope coverage: 4 streams (HTML/CSS adapters, deepen langs, lens enrichment, easy/expert modes)
10
- ```