Release validation catches up with the tools since 0.6.4-RC2; the driver forwards -h/--help after -- - #4057
Merged
Conversation
…RC2: the bundle smoke compiles the DAP bridge, the watchdog's interpreter form, the LLVM-AOT driver and the LSP subtools, checks the static watchdog is present and answers --help and --lsp from the bundle, and launches the DAP bridge on an empty stdin; the release audit's utils phase gains rows for the DAP bridge's argument gate (a row now carries the exit code it expects) and both watchdog forms, and its telegram rows - stale since the echo-bot moved to its package repo at RC1 - become the crash example, whose native dascrash package installs from a local path and so proves the bundle's C++ build kit offline. The daslang driver no longer answers -h/--help placed after the -- separator, which stole every interpreted clargs tool's help (tests/fio pins it). The audit's per-file timeout is 180 s: a dasLLAMA example compiles cold in about 40 s alone and the 60 s cap tripped under a full worker set; examples/dasLLAMA/library/main.das is ruled integration-scaffold tier. CHANGELIST gains #4046 and #4052. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
borisbat
force-pushed
the
bbatkin/release-0.6.4-rc3
branch
from
September 17, 2026 18:55
924c6d1 to
c7a98a3
Compare
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The new argv-forwarding test matches \n-terminated lines and is likely to fail on Windows where captured output can be CRLF (\r\n) due to text-mode stdout.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
This PR updates the release/bundle validation to cover newly shipped tools since 0.6.4-RC2, and changes daslang CLI behavior so -h/--help after -- is forwarded to the script (instead of being consumed by the driver).
Changes:
- Expand bundle smoke testing and release-audit “utils” phase coverage to compile/launch additional shipped entry points (DAP bridge, watchdog fronts, LLVM-AOT driver, LSP subtools, dasllama-server bench).
- Adjust
daslangdriver option parsing so help flags are only handled before--. - Add an argv-echo fixture + test to pin the new
--/help forwarding behavior; refresh release-audit docs/expectations and changelog entries.
File summaries
| File | Description |
|---|---|
| utils/REVIEW.md | Clarifies tool/shipped-tool definitions and adds a rule requiring bundle smoke launch coverage for new shipped fronts. |
| utils/internal/test-release/utils_phase.das | Extends utils-phase rows (expected exit code support, new tool/front checks) and refactors verdict calculation. |
| utils/internal/test-release/test_utils_phase.das | Adds unit tests covering the new expect_rc verdict behavior. |
| utils/internal/test-release/README.md | Documents updated utils-phase coverage and formally defines row shapes (incl. refusal rows). |
| utils/internal/test-release/main.das | Raises the default per-file compile timeout to 180s. |
| utils/internal/test-release/expected_compile.txt | Updates expected compile rulings (e.g., dasLLAMA integration-scaffold tier). |
| utils/daslang/main.cpp | Prevents driver help handling once script-args mode begins (-- seen). |
| tests/fio/popen_argv.das | Adds a regression test ensuring --help/-h after -- reaches the script. |
| tests/fio/_fixture_echo_args.das | New fixture script that prints CLI arguments one per line for argv-forwarding tests. |
| ci/smoke_test_bundle.sh | Adds compile + runtime launch checks for additional shipped tools/fronts (DAP, watchdog, LLVM-AOT driver, LSP subtools, etc.). |
| CHANGELIST.md | Records the behavior change and validation catch-up work in release notes. |
Review details
- Files reviewed: 11/11 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Behavior change:
daslang script.das -- --help(or-h) now reaches the script - anyone who relied on the driver's banner there must put the flag before--.Why. The release gates last matched 0.6.4-RC2. Since then the DAP bridge, the static watchdog with its LSP front, the LLVM-AOT driver and new LSP subtools ship, and nothing compiled or launched them from a bundle. The release audit's telegram rows named an example that left the tree at RC1, and its per-file timeout tripped on a dasLLAMA example that compiles cold in about 40 s. The driver answered
-h/--helpwherever they sat, so no interpreted clargs tool could print its own help.What changes.
--help,--lspon empty stdin), and launches the DAP bridge on empty stdin.dascrashpackage installs from a local path and so proves the bundle's C++ build kit offline; the telegram rows go; the per-file compile timeout is 180 s;examples/dasLLAMA/library/main.dasis ruled integration-scaffold tier.-h/--helpafter--;tests/fio/popen_argv.daspins it with an argv-echo fixture.utils/REVIEW.mdgains the rule that a new front on a shipped tool adds a launch row to the bundle smoke, and its tool and arm definitions cover tested-only programs and assertion-only[test]functions.Observable behavior.
daslang utils/watchdog/main.das -- --helpprinted daslang's banner -> prints the watchdog's helpbash ci/smoke_test_bundle.sh <bundle>41 checks -> 51, red on a bundle missing the watchdog exe or any of the six new entry points--networkred onexamples/telegram/echo-bot-> green, the crash package built and cleaned upWhere to look.
utils/daslang/main.cppline 1123 is the one C++ line;utils/internal/test-release/utils_phase.dasfor theexpect_rcrow shape and the foldedjudgedverdict.Validation, claims, ledger
Validation
cmake --install build-ninja --prefix D:/daslang): smoke 50/51, the one missZ3.LICENSEbecause this box buildsDAS_SMT_DISABLED=ON(release CI has it on); audit compile phase 894 targets, 860 ok / 34 expected / 0 unexpected / 0 timeout; utils phase 26/26 offline; network rows (sequence, daspkg-example, crash, build-example) all green with cleanup.run_utils_teststarget exited -1 after the daspkg suite on both local runs, while the same suite run alone exits 0 (248 tests, 247 passed, 1 platform skip) and master's extended_checks is green - a local flake of the concurrent runs on this box, not the diff.Claims - stated, not tested
Not done
--(-main,-log, ...); stopping the parse at the separator is a behavior widening past this RC, ledgered.networkrow flag is kept under its name though the crash rows fetch nothing; its comments and the README say what it gates.ci/REVIEW.dascheck that every installed.dasentry point has a smoke compile row; autils/REVIEW.dascheck that everywatchdog.jsonkey names aWatchdogConfigfield; autils/watchdog/REVIEW.dascheck that every*_front.dashas a launch row (--stdiohas none today).