Skip to content

docs + mouse: blog "Internal tools" + 4 new mouse cards#2678

Merged
borisbat merged 1 commit into
masterfrom
bbatkin/mouse-cards-blog-may15
May 16, 2026
Merged

docs + mouse: blog "Internal tools" + 4 new mouse cards#2678
borisbat merged 1 commit into
masterfrom
bbatkin/mouse-cards-blog-may15

Conversation

@borisbat
Copy link
Copy Markdown
Collaborator

Summary

  • New blog post site/blog/_posts/internal-tools.md — "Internal tools" / why the daslang MCP and other in-tree tooling matter (intern + AI dogfooding angle).
  • Four new mouse-data/docs/ cards captured during the dasImgui harness + headless initiative (separate PR on borisbat/dasImgui):
    • daslang-private-require-structural-symbol-gate — wrapper-module pattern where private requires keep symbols out of user scope; basis for structural lint guarantees instead of comment-only ones.
    • dasimgui-new-widget-module-needs-das-module-entry.das_module registration is mandatory for new sibling widgets/ modules.
    • daslang-script-flags-need-dash-dash-separator — script-side flags via daslang FILE.das -- --flag (the -- is required in interpreter mode); daslang-live doesn't pass argv to scripts.
    • why-does-my-dastest-integration-test-hang-at-readiness-gate-failed-when-external-curl-to-status-works-fine-is-it-a-require-order — captures the require-order land-mine that surfaced during dasImgui harness PR 2 verification: live/live_api required before imgui_app + glfw_live makes wait_until_ready time out from a popen parent. Workaround: reorder requires (mirrors canonical pre-harness order). Filed as daslang-live: require order sensitivity — live/live_api before imgui_app/glfw_live breaks /status reachability from popen parent #2677.

Test plan

🤖 Generated with Claude Code

Adds Boris's "Internal tools" blog post under site/blog/_posts/ and
four new mouse-data/docs/ cards surfaced while landing the dasImgui
harness + headless initiative (separate PR on borisbat/dasImgui).

Mouse cards:

- daslang-private-require-structural-symbol-gate — the wrapper-module
  pattern where private requires keep GLFW/GL symbols out of user
  scope, used by imgui_harness to make lint guarantees structural
  instead of comment-only.
- dasimgui-new-widget-module-needs-das-module-entry — `.das_module`
  registration is mandatory for new sibling modules under
  modules/dasImgui/widgets/; new file alone won't resolve via
  `require imgui/<name>`.
- daslang-script-flags-need-dash-dash-separator — script-side flags
  via `daslang FILE.das -- --flag` (the `--` is required in
  interpreter mode); daslang-live doesn't pass argv to scripts.
- why-does-my-dastest-integration-test-hang-at-readiness-gate-failed
  ... — captures the require-order land-mine surfaced during
  imgui_harness PR 2 verification: `live/live_api` required before
  `imgui_app + glfw_live` makes `wait_until_ready` time out from a
  popen parent even though external curl gets 200. Workaround:
  reorder requires. Filed as daslang #2677.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings May 16, 2026 03:40
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a blog post and four new "mouse-data" knowledge cards capturing lessons learned while landing the dasImgui harness/headless work. All changes are documentation-only (Markdown).

Changes:

  • Adds a new blog post internal-tools.md about internal tooling and AI-assisted maintenance.
  • Adds four mouse-data cards covering: private-require structural symbol gating, .das_module registration for new dasImgui widget modules, the -- separator requirement for daslang script flags, and the require-order land-mine reported as #2677.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
site/blog/_posts/internal-tools.md New blog post on internal tooling dogfooding.
mouse-data/docs/why-does-my-dastest-integration-test-hang-at-readiness-gate-failed-when-external-curl-to-status-works-fine-is-it-a-require-order.md Card documenting the require-order regression (#2677) and reorder workaround.
mouse-data/docs/daslang-script-flags-need-dash-dash-separator.md Card explaining -- separator requirement for get_user_args() in interpreter mode.
mouse-data/docs/daslang-private-require-structural-symbol-gate.md Card describing private-require pattern for structural symbol gating in wrapper modules.
mouse-data/docs/dasimgui-new-widget-module-needs-das-module-entry.md Card noting .das_module register_native_path requirement for new widgets/ modules.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@borisbat borisbat merged commit 55bd443 into master May 16, 2026
31 of 32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants