Skip to content

Release validation catches up with the tools since 0.6.4-RC2; the driver forwards -h/--help after -- - #4057

Merged
borisbat merged 1 commit into
masterfrom
bbatkin/release-0.6.4-rc3
Sep 17, 2026
Merged

borisbat merged 1 commit into
masterfrom
bbatkin/release-0.6.4-rc3

Conversation

@borisbat

Copy link
Copy Markdown
Collaborator

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/--help wherever they sat, so no interpreted clargs tool could print its own help.

What changes.

Observable behavior.

  • daslang utils/watchdog/main.das -- --help printed daslang's banner -> prints the watchdog's help
  • bash 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
  • test-release utils phase with --network red on examples/telegram/echo-bot -> green, the crash package built and cleaned up
  • test-release compile phase: 7 dasLLAMA timeouts at 60 s under 16 workers -> 0 at 180 s

Where to look. utils/daslang/main.cpp line 1123 is the one C++ line; utils/internal/test-release/utils_phase.das for the expect_rc row shape and the folded judged verdict.

Validation, claims, ledger

Validation

  • Local bundle from the Ninja layout on Windows (cmake --install build-ninja --prefix D:/daslang): smoke 50/51, the one miss Z3.LICENSE because this box builds DAS_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.
  • The driver fix: the new arm is red on a master-built daslang (the banner answers, the fixture never runs) and green on this branch's.
  • Full preflight not run: the diff reaches no lane beyond the fast tier, tests/fio and the utils suites. Run one by one: untracked, format, lint, hash-refs, review-md, review-md-tests, md-ascii, ast-verify, cpp-syntax, ci-matrix all green; utils-tests printed SUCCESS for every suite but the run_utils_tests target 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.
  • Woodpecker round on the final shape: no findings; its trace covers every changed file.

Claims - stated, not tested

  • The 180 s timeout default has no unit pin (a pin would assert the literal); the compile-phase run above is its instrument.

Not done

  • The driver still parses every other daslang option after -- (-main, -log, ...); stopping the parse at the separator is a behavior widening past this RC, ledgered.
  • The network row flag is kept under its name though the crash rows fetch nothing; its comments and the README say what it gates.
  • Gate candidates surfaced by the review round, for a ruling: a ci/REVIEW.das check that every installed .das entry point has a smoke compile row; a utils/REVIEW.das check that every watchdog.json key names a WatchdogConfig field; a utils/watchdog/REVIEW.das check that every *_front.das has a launch row (--stdio has none today).
  • The dasLLAMA examples' 40 s cold compile is a follow-up PR.

Copilot AI lite review requested due to automatic review settings September 17, 2026 18:54
…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>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 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 daslang driver 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.

Comment thread tests/fio/popen_argv.das
@borisbat
borisbat merged commit ad002a9 into master Sep 17, 2026
29 checks passed
@borisbat
borisbat deleted the bbatkin/release-0.6.4-rc3 branch September 17, 2026 19:40
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