Browse Source

make.tcl dry-run help: parse_report landing table (G-151 follow-on; project 0.66.2)

An accepted 'make.tcl help <subcommand> <cmdline...>' line now stacks
punk::args::parse_report's annotated success render - the Argument|Source|Value
landing table (received args plus defaults-in-effect) - under the usage render,
after the unchanged 'dry-run: line accepted (form N)' line. The interim
hand-assembled one-line received-args clue remains only as the catch-guarded
degrade fallback (G-030 rule: stale pre-0.18.0 bootsupport punk::args or broken
render stack). The gating bootsupport promotion (args 0.25.2 + ansi 0.2.1)
already landed, so the render is live.

- src/make.tcl: parse_report call + degrade fallback; the two layout copies and
  the modpod template copy refreshed via the thin-layout sync (make.tcl modules
  run from src/)
- maketclhelp.test: accepted-line pins flipped to landing-row regexps, new
  reporthdr/default2b pins; 12/12 green (the 10 maketclbakelist/maketcllibfetch
  failures are the pre-existing non-interactive root-launch staleness-gate
  baseline - source punk::args 0.26.0 vs bootsupport 0.25.2 - not regressions)
- src/AGENTS.md: help bullet now describes the landing table + degrade path
- punkproject.toml 0.66.2 + CHANGELOG entry (make.tcl help output is product
  surface)
- goals/archive/G-151-punkargs-annotated-success-render.md: make.tcl follow-on
  disposition => landed 2026-08-09

Assisted-by: harness=claude; primary-model=claude-fable-5; api-location=anthropic.com
master
Julian Noble 20 hours ago
parent
commit
2655f278f1
  1. 10
      CHANGELOG.md
  2. 2
      goals/archive/G-151-punkargs-annotated-success-render.md
  3. 2
      punkproject.toml
  4. 2
      src/AGENTS.md
  5. 64
      src/make.tcl
  6. 64
      src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/make.tcl
  7. 64
      src/project_layouts/vendor/punk/basic/src/make.tcl
  8. 64
      src/project_layouts/vendor/punk/project-0.1/src/make.tcl
  9. 32
      src/tests/shell/testsuites/punkexe/maketclhelp.test

10
CHANGELOG.md

@ -5,6 +5,16 @@ The latest `## [X.Y.Z]` header must match the `version` field in `punkproject.to
Entries are newest-first; one bullet per notable change. See the root `AGENTS.md`
"Project Versioning" section for the bump policy.
## [0.66.2] - 2026-08-09
- make.tcl dry-run help (G-151 follow-through): an accepted 'make.tcl help
<subcommand> <cmdline...>' line now stacks punk::args::parse_report's
landing table under the usage render - Argument|Source|Value rows showing
where each received word landed plus defaults-in-effect - retiring the
interim one-line received-args clue (kept only as the degrade fallback for
a stale pre-0.18.0 bootsupport punk::args or broken render stack). The
'dry-run: line accepted (form N)' confirmation line is unchanged.
## [0.66.1] - 2026-08-09
- punk::args validation errors now display-bound received values (punk::args

2
goals/archive/G-151-punkargs-annotated-success-render.md

@ -168,7 +168,7 @@ Verification evidence:
## Follow-ons
Follow-on: make.tcl retires its interim one-line 'dry-run: line accepted ...' report in favour of parse_report (stacked under the usage render per lean 1) after a bootsupport promotion carrying punk::args 0.18.0- and punk::ansi 0.2.0- => open
Follow-on: make.tcl retires its interim one-line 'dry-run: line accepted ...' report in favour of parse_report (stacked under the usage render per lean 1) after a bootsupport promotion carrying punk::args 0.18.0- and punk::ansi 0.2.0- => landed 2026-08-09 (project 0.66.2 - the gating bootsupport promotion carried args 0.25.2/ansi 0.2.1; make.tcl stacks the parse_report landing table under the dry-run usage render, keeping the one-liner solely as the stale-snapshot/broken-render degrade fallback; layout + modpod copies via the thin-layout sync; maketclhelp.test pins updated)
Follow-on: serve arg_error's failure-side value-truncation todo ('truncate/summarize values in error messages', args-999999.0a1.0.tm arg_error region) with the same report_display_value/TRUNCATE helpers (lean 5 - explicitly excluded from this goal's acceptance) => landed 2026-08-09 (punk::args 0.26.0 private::error_display_value - all received-word message sites incl unexpected-option words; '@cmd -reportvaluewidth' cascade; raw -badarg/-badval retained; validation.test pins)
Follow-on: engine-level rationalization of parse-result storage keys vs definition argument names (aliased optionset last-|-member fold, -parsekey renames) so value-in-effect lookups need no display-level bridging => goal G-084
Follow-on: column-aware (display-width) TRUNCATE variant for CJK-heavy values (the grapheme-count cap under-counts double-wide content; noted in the TRUNCATE argdoc) => open

2
punkproject.toml

@ -1,6 +1,6 @@
[project]
name = "punkshell"
version = "0.66.1"
version = "0.66.2"
license = "BSD-2-Clause"
url = "https://www.gitea1.intx.com.au/jn/punkshell"
#packager: declared identity for published artifacts (declarative, not proof -

2
src/AGENTS.md

File diff suppressed because one or more lines are too long

64
src/make.tcl

@ -4252,18 +4252,18 @@ if {$do_help} {
#dispatch would parse them (punk::args form auto-selection - literal
#action leaders, choice prefixes). A line the subcommand would accept
#renders the matched form's single-form usage (whole usage for
#single-form subjects) plus a one-line report of where each received
#word landed; a line it would reject gets the same pointed punk::args
#diagnosis dispatch would give on stderr with exit 1 - the error table
#carries the all-forms synopsis, per-form reasons and argument rows,
#so it IS the form documentation. Deliberately no bare-action
#carve-out: 'help buildsuite build' shows the build form via the
#diagnosis that a suitename is still required. Note punk::args'
#positional model: flag-like words at or after the first value
#position are consumed as VALUES - the accepted-line report makes
#that visible ('kitname = punk91 -confirm 0'); declaration-level
#passthroughs (shell args, buildsuite driver args) parse clean by
#design.
#single-form subjects) plus the punk::args::parse_report landing table
#of where each received word landed; a line it would reject gets the
#same pointed punk::args diagnosis dispatch would give on stderr with
#exit 1 - the error table carries the all-forms synopsis, per-form
#reasons and argument rows, so it IS the form documentation.
#Deliberately no bare-action carve-out: 'help buildsuite build' shows
#the build form via the diagnosis that a suitename is still required.
#Note punk::args' positional model: flag-like words at or after the
#first value position are consumed as VALUES - the landing report
#makes that visible (a swallowed flag-like word is attributed to the
#value argument that consumed it); declaration-level passthroughs
#(shell args, buildsuite driver args) parse clean by design.
if {[catch {punk::args::parse $help_words -errorstyle $::punkboot::errstyle withid $usage_id} argd]} {
puts stderr $argd
exit 1
@ -4272,26 +4272,34 @@ if {$do_help} {
if {[llength $form_names] > 1} {
lappend usage_args -form [dict get $argd form]
}
#interim 'where did my words land' clue (punk::args has no annotated
#success render yet): name = value pairs for RECEIVED args only
#(defaulted opts omitted), so a swallowed flag-like word shows up
#against the argument that consumed it.
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
set accepted_note "dry-run: line accepted"
if {[llength $form_names] > 1} {
append accepted_note " (form [dict get $argd form])"
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
#G-151 follow-through: the landing report is punk::args::parse_report's
#annotated success render (Argument|Source|Value rows: received args
#plus defaults-in-effect, elided values marked) stacked under the
#usage render. Catch-guarded per the G-030 degrade rule - a stale
#punk::args snapshot (pre-0.18.0, no parse_report) or a broken render
#stack falls back to the pre-G-151 one-line received-args clue.
if {![catch {punk::args::parse_report $argd} landing_report]} {
if {$landing_report ne ""} {
append accepted_note \n$landing_report
}
} else {
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
}
}
}
if {![catch {punk::args::usage {*}$usage_args $usage_id} usage_out]} {

64
src/modules/punk/mix/#modpod-templates-999999.0a1.0/templates/project_layouts/vendor/punk/project-0.1/src/make.tcl vendored

@ -4252,18 +4252,18 @@ if {$do_help} {
#dispatch would parse them (punk::args form auto-selection - literal
#action leaders, choice prefixes). A line the subcommand would accept
#renders the matched form's single-form usage (whole usage for
#single-form subjects) plus a one-line report of where each received
#word landed; a line it would reject gets the same pointed punk::args
#diagnosis dispatch would give on stderr with exit 1 - the error table
#carries the all-forms synopsis, per-form reasons and argument rows,
#so it IS the form documentation. Deliberately no bare-action
#carve-out: 'help buildsuite build' shows the build form via the
#diagnosis that a suitename is still required. Note punk::args'
#positional model: flag-like words at or after the first value
#position are consumed as VALUES - the accepted-line report makes
#that visible ('kitname = punk91 -confirm 0'); declaration-level
#passthroughs (shell args, buildsuite driver args) parse clean by
#design.
#single-form subjects) plus the punk::args::parse_report landing table
#of where each received word landed; a line it would reject gets the
#same pointed punk::args diagnosis dispatch would give on stderr with
#exit 1 - the error table carries the all-forms synopsis, per-form
#reasons and argument rows, so it IS the form documentation.
#Deliberately no bare-action carve-out: 'help buildsuite build' shows
#the build form via the diagnosis that a suitename is still required.
#Note punk::args' positional model: flag-like words at or after the
#first value position are consumed as VALUES - the landing report
#makes that visible (a swallowed flag-like word is attributed to the
#value argument that consumed it); declaration-level passthroughs
#(shell args, buildsuite driver args) parse clean by design.
if {[catch {punk::args::parse $help_words -errorstyle $::punkboot::errstyle withid $usage_id} argd]} {
puts stderr $argd
exit 1
@ -4272,26 +4272,34 @@ if {$do_help} {
if {[llength $form_names] > 1} {
lappend usage_args -form [dict get $argd form]
}
#interim 'where did my words land' clue (punk::args has no annotated
#success render yet): name = value pairs for RECEIVED args only
#(defaulted opts omitted), so a swallowed flag-like word shows up
#against the argument that consumed it.
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
set accepted_note "dry-run: line accepted"
if {[llength $form_names] > 1} {
append accepted_note " (form [dict get $argd form])"
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
#G-151 follow-through: the landing report is punk::args::parse_report's
#annotated success render (Argument|Source|Value rows: received args
#plus defaults-in-effect, elided values marked) stacked under the
#usage render. Catch-guarded per the G-030 degrade rule - a stale
#punk::args snapshot (pre-0.18.0, no parse_report) or a broken render
#stack falls back to the pre-G-151 one-line received-args clue.
if {![catch {punk::args::parse_report $argd} landing_report]} {
if {$landing_report ne ""} {
append accepted_note \n$landing_report
}
} else {
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
}
}
}
if {![catch {punk::args::usage {*}$usage_args $usage_id} usage_out]} {

64
src/project_layouts/vendor/punk/basic/src/make.tcl vendored

@ -4252,18 +4252,18 @@ if {$do_help} {
#dispatch would parse them (punk::args form auto-selection - literal
#action leaders, choice prefixes). A line the subcommand would accept
#renders the matched form's single-form usage (whole usage for
#single-form subjects) plus a one-line report of where each received
#word landed; a line it would reject gets the same pointed punk::args
#diagnosis dispatch would give on stderr with exit 1 - the error table
#carries the all-forms synopsis, per-form reasons and argument rows,
#so it IS the form documentation. Deliberately no bare-action
#carve-out: 'help buildsuite build' shows the build form via the
#diagnosis that a suitename is still required. Note punk::args'
#positional model: flag-like words at or after the first value
#position are consumed as VALUES - the accepted-line report makes
#that visible ('kitname = punk91 -confirm 0'); declaration-level
#passthroughs (shell args, buildsuite driver args) parse clean by
#design.
#single-form subjects) plus the punk::args::parse_report landing table
#of where each received word landed; a line it would reject gets the
#same pointed punk::args diagnosis dispatch would give on stderr with
#exit 1 - the error table carries the all-forms synopsis, per-form
#reasons and argument rows, so it IS the form documentation.
#Deliberately no bare-action carve-out: 'help buildsuite build' shows
#the build form via the diagnosis that a suitename is still required.
#Note punk::args' positional model: flag-like words at or after the
#first value position are consumed as VALUES - the landing report
#makes that visible (a swallowed flag-like word is attributed to the
#value argument that consumed it); declaration-level passthroughs
#(shell args, buildsuite driver args) parse clean by design.
if {[catch {punk::args::parse $help_words -errorstyle $::punkboot::errstyle withid $usage_id} argd]} {
puts stderr $argd
exit 1
@ -4272,26 +4272,34 @@ if {$do_help} {
if {[llength $form_names] > 1} {
lappend usage_args -form [dict get $argd form]
}
#interim 'where did my words land' clue (punk::args has no annotated
#success render yet): name = value pairs for RECEIVED args only
#(defaulted opts omitted), so a swallowed flag-like word shows up
#against the argument that consumed it.
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
set accepted_note "dry-run: line accepted"
if {[llength $form_names] > 1} {
append accepted_note " (form [dict get $argd form])"
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
#G-151 follow-through: the landing report is punk::args::parse_report's
#annotated success render (Argument|Source|Value rows: received args
#plus defaults-in-effect, elided values marked) stacked under the
#usage render. Catch-guarded per the G-030 degrade rule - a stale
#punk::args snapshot (pre-0.18.0, no parse_report) or a broken render
#stack falls back to the pre-G-151 one-line received-args clue.
if {![catch {punk::args::parse_report $argd} landing_report]} {
if {$landing_report ne ""} {
append accepted_note \n$landing_report
}
} else {
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
}
}
}
if {![catch {punk::args::usage {*}$usage_args $usage_id} usage_out]} {

64
src/project_layouts/vendor/punk/project-0.1/src/make.tcl vendored

@ -4252,18 +4252,18 @@ if {$do_help} {
#dispatch would parse them (punk::args form auto-selection - literal
#action leaders, choice prefixes). A line the subcommand would accept
#renders the matched form's single-form usage (whole usage for
#single-form subjects) plus a one-line report of where each received
#word landed; a line it would reject gets the same pointed punk::args
#diagnosis dispatch would give on stderr with exit 1 - the error table
#carries the all-forms synopsis, per-form reasons and argument rows,
#so it IS the form documentation. Deliberately no bare-action
#carve-out: 'help buildsuite build' shows the build form via the
#diagnosis that a suitename is still required. Note punk::args'
#positional model: flag-like words at or after the first value
#position are consumed as VALUES - the accepted-line report makes
#that visible ('kitname = punk91 -confirm 0'); declaration-level
#passthroughs (shell args, buildsuite driver args) parse clean by
#design.
#single-form subjects) plus the punk::args::parse_report landing table
#of where each received word landed; a line it would reject gets the
#same pointed punk::args diagnosis dispatch would give on stderr with
#exit 1 - the error table carries the all-forms synopsis, per-form
#reasons and argument rows, so it IS the form documentation.
#Deliberately no bare-action carve-out: 'help buildsuite build' shows
#the build form via the diagnosis that a suitename is still required.
#Note punk::args' positional model: flag-like words at or after the
#first value position are consumed as VALUES - the landing report
#makes that visible (a swallowed flag-like word is attributed to the
#value argument that consumed it); declaration-level passthroughs
#(shell args, buildsuite driver args) parse clean by design.
if {[catch {punk::args::parse $help_words -errorstyle $::punkboot::errstyle withid $usage_id} argd]} {
puts stderr $argd
exit 1
@ -4272,26 +4272,34 @@ if {$do_help} {
if {[llength $form_names] > 1} {
lappend usage_args -form [dict get $argd form]
}
#interim 'where did my words land' clue (punk::args has no annotated
#success render yet): name = value pairs for RECEIVED args only
#(defaulted opts omitted), so a swallowed flag-like word shows up
#against the argument that consumed it.
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
set accepted_note "dry-run: line accepted"
if {[llength $form_names] > 1} {
append accepted_note " (form [dict get $argd form])"
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
#G-151 follow-through: the landing report is punk::args::parse_report's
#annotated success render (Argument|Source|Value rows: received args
#plus defaults-in-effect, elided values marked) stacked under the
#usage render. Catch-guarded per the G-030 degrade rule - a stale
#punk::args snapshot (pre-0.18.0, no parse_report) or a broken render
#stack falls back to the pre-G-151 one-line received-args clue.
if {![catch {punk::args::parse_report $argd} landing_report]} {
if {$landing_report ne ""} {
append accepted_note \n$landing_report
}
} else {
set recnames [list]
foreach {rn ri} [dict get $argd received] {
if {$rn ni $recnames} {lappend recnames $rn}
}
set parts [list]
foreach section {leaders opts values} {
foreach {an av} [dict get $argd $section] {
if {$an in $recnames} {lappend parts "$an = $av"}
}
}
if {[llength $parts]} {
append accepted_note " - [join $parts { | }]"
}
}
}
if {![catch {punk::args::usage {*}$usage_args $usage_id} usage_out]} {

32
src/tests/shell/testsuites/punkexe/maketclhelp.test

@ -36,11 +36,14 @@ package require tcltest
# itself usage documentation); no bare-action carve-out: 'help buildsuite
# build' (suitename required) exits 1 with that same diagnosis, whose table
# still carries the build form's argument rows; accepted lines are confirmed
# with a received-args report ('dry-run: line accepted (form build) - action =
# build | ...'); bake kitnames are -choicerestricted (2026-08-02), so the
# with 'dry-run: line accepted (form N)' plus punk::args::parse_report's
# landing table stacked under the usage render (G-151 follow-through
# 2026-08-09: Argument|Source|Value rows, received distinguished from
# default-in-effect); bake kitnames are -choicerestricted (2026-08-02), so the
# out-of-order 'help bake punk91 -confirm 0' is REJECTED at the choice gate
# exactly as dispatch would reject it (Received: '-confirm'), while
# 'help bake punk91' is accepted with 'kitname = punk91' reported
# 'help bake punk91' is accepted with a kitname/received/punk91 landing row
# (defaulted opts get default rows)
# - 'help tool frobnicate' / 'help buildsuite frobnicate': exit 1 with the
# punk::args noformmatch diagnosis naming the candidate forms
# - 'tool build -help' / 'make.tcl -help': help flags are ordinary arguments now -
@ -200,25 +203,29 @@ namespace eval ::testspace {
set result
} -result {timedout 0 exitcode 0 esc 0 testopt 1 toolname 1 choicelabel 1}
#added 2026-08-01 (agent, G-143 refinement); updated 2026-08-02 (agent) - help
#dry-runs the subject's own command line through its declaration: accepted
#lines render the matched form's usage plus a received-args report (flag-like
#words at/after the first value position parse as VALUES where the value arg
#is unconstrained - tool's toolname - and the report reveals the swallow);
#added 2026-08-01 (agent, G-143 refinement); updated 2026-08-02 (agent);
#updated 2026-08-09 (agent, G-151 follow-through) - help dry-runs the
#subject's own command line through its declaration: accepted lines render
#the matched form's usage plus punk::args::parse_report's landing table
#(Argument|Source|Value rows; flag-like words at/after the first value
#position parse as VALUES where the value arg is unconstrained - tool's
#toolname - and the landing row reveals the swallow; defaulted opts get
#default rows, the received/default distinction being the Source column);
#rejected lines (option-first, numeric form index, unknown flags in option
#position, and - since kitnames became -choicerestricted 2026-08-02 - the
#out-of-order 'bake punk91 -confirm 0', whose '-confirm' fails the kitname
#choice gate exactly as dispatch rejects it) exit 1 with the punk::args
#diagnosis, whose table carries the synopsis - the error is itself usage
#documentation
test maketcl_help_cmdline_selection {'make.tcl help tool build -test 0 punkzip' renders the build form + received-args report; 'help bake punk91' accepted/reported; rejected lines (incl. the kitname choice gate) exit 1 with the self-documenting diagnosis} -constraints {tclshavailable} -body {
test maketcl_help_cmdline_selection {'make.tcl help tool build -test 0 punkzip' renders the build form + parse_report landing table; 'help bake punk91' accepted with landing rows; rejected lines (incl. the kitname choice gate) exit 1 with the self-documenting diagnosis} -constraints {tclshavailable} -body {
set r [maketcl_run {help tool build -test 0 punkzip}]
set out [dict get $r output]
set result [list]
lappend result timedout [dict get $r timedout] exitcode [dict get $r exitcode]
lappend result synbuild [regexp {make\.tcl tool build \[-test <bool>\] \[toolname\]\.\.\.} $out]
lappend result accepted [regexp {dry-run: line accepted \(form build\)} $out]
lappend result landed [regexp {toolname = punkzip} $out]
lappend result reporthdr [regexp {Argument[^\n]*Source[^\n]*Value} $out]
lappend result landed [regexp {toolname[^\n]*received[^\n]*punkzip} $out]
set r2 [maketcl_run {help bake punk91 -confirm 0}]
set out2 [dict get $r2 output]
lappend result timedout2 [dict get $r2 timedout] exitcode2 [dict get $r2 exitcode]
@ -226,7 +233,8 @@ namespace eval ::testspace {
set r2b [maketcl_run {help bake punk91}]
set out2b [dict get $r2b output]
lappend result timedout2b [dict get $r2b timedout] exitcode2b [dict get $r2b exitcode]
lappend result accepted2b [regexp {kitname = punk91} $out2b]
lappend result accepted2b [regexp {kitname[^\n]*received[^\n]*punk91} $out2b]
lappend result default2b [regexp -- {-confirm[^\n]*default[^\n]*1} $out2b]
set r3 [maketcl_run {help tool -test 0 build}]
set out3 [dict get $r3 output]
lappend result timedout3 [dict get $r3 timedout] exitcode3 [dict get $r3 exitcode]
@ -237,7 +245,7 @@ namespace eval ::testspace {
lappend result timedout4 [dict get $r4 timedout] exitcode4 [dict get $r4 exitcode]
lappend result noform4 [regexp {No form of the command matches the supplied arguments} $out4]
set result
} -result {timedout 0 exitcode 0 synbuild 1 accepted 1 landed 1 timedout2 0 exitcode2 1 gate2 1 timedout2b 0 exitcode2b 0 accepted2b 1 timedout3 0 exitcode3 1 noform3 1 synindiag3 1 timedout4 0 exitcode4 1 noform4 1}
} -result {timedout 0 exitcode 0 synbuild 1 accepted 1 reporthdr 1 landed 1 timedout2 0 exitcode2 1 gate2 1 timedout2b 0 exitcode2b 0 accepted2b 1 default2b 1 timedout3 0 exitcode3 1 noform3 1 synindiag3 1 timedout4 0 exitcode4 1 noform4 1}
#added 2026-08-01 (agent, G-143)
#formhints pin added 2026-08-05 (agent, G-149): buildsuite adopts

Loading…
Cancel
Save