fix: keep completed office comments editable (#1548)
* fix: keep completed office comments editable Keep the office task detail composer editable after completed sessions load, including projectless office tasks. Update verification tests for SHA-pinned GitHub actions. Extract the dockview main area to satisfy the existing max-lines lint rule. * fix: preserve upload artifact version guard * fix: clarify upload artifact pin check * fix: wake completed office sessions on comments * fix: queue completed office comment runs * fix: preserve dispatcher session lookup errors * fix: resolve office comment wake review issues * fix: stabilize comment wake idempotency * fix: salt custom comment wake keys * fix: address comment wake review cleanup * fix: avoid comment payload allocation overflow pattern * fix: salt comment wake action variants * fix: resolve cross-task primary by target step * fix: resolve cross-task participant roles * fix: surface cross-task comment run status * fix: use target steps for cross-task queue runs * fix: avoid comment run lookup scan regression * fix: cover cross-task queue run edge cases * fix: index comment payload run lookup * fix: support postgres comment run index * fix: tighten queue run target test coverage * fix: route source comment run updates * fix: preserve cross-task comment wakes * fix: tighten comment wake identity * fix: align comment wake routing * fix: remove stale primary resolver * fix: dedupe comment run status * fix: tighten legacy comment wake dedupe * fix: remove unreachable comment wake guard * fix: skip duplicate comment reactivity wakes * fix: route comment wakes synchronously * fix: share comment engine dispatch contracts * fix: preserve comment wake fallbacks * fix: preserve done comment runner * fix: guard empty task runner fallback * fix: handle empty task runner fallback * fix: stabilize completed comment wakes * fix: index comment runner fallback --------- Co-authored-by: root <root@kandev.ts.net>
This commit is contained in:
@@ -13,10 +13,17 @@ fail() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
count_occurrences() {
|
||||
local pattern=$1
|
||||
count_matches() {
|
||||
local mode=$1
|
||||
local pattern=$2
|
||||
local output
|
||||
output="$(rg --fixed-strings --count-matches -- "$pattern" "$WORKFLOW" || true)"
|
||||
local rg_args=(--count-matches)
|
||||
if [[ "$mode" == "fixed" ]]; then
|
||||
rg_args=(--fixed-strings --count-matches)
|
||||
elif [[ "$mode" != "regex" ]]; then
|
||||
fail "Unsupported match mode: $mode"
|
||||
fi
|
||||
output="$(rg "${rg_args[@]}" -- "$pattern" "$WORKFLOW" || true)"
|
||||
if [[ -z "$output" ]]; then
|
||||
printf '0\n'
|
||||
return
|
||||
@@ -28,6 +35,11 @@ count_occurrences() {
|
||||
awk -F: '{ print $2 }' <<<"$output"
|
||||
}
|
||||
|
||||
count_occurrences() {
|
||||
local pattern=$1
|
||||
count_matches fixed "$pattern"
|
||||
}
|
||||
|
||||
tmp_review_reference_count="$(count_occurrences '/tmp/opencode-review')"
|
||||
if [[ "$tmp_review_reference_count" != "0" ]]; then
|
||||
fail "OpenCode review artifacts are not written under /tmp"
|
||||
@@ -100,9 +112,9 @@ if [[ "$trusted_script_count" != "2" ]]; then
|
||||
fi
|
||||
pass "OpenCode review executes the parser script from the trusted base commit in both workflow paths"
|
||||
|
||||
artifact_upload_count="$(count_occurrences 'uses: actions/upload-artifact@')"
|
||||
artifact_upload_count="$(count_matches regex 'uses: actions/upload-artifact@(v4([[:space:]]|$)|[a-f0-9]{40}[[:space:]]+# v4([[:space:]]|$))')"
|
||||
if [[ "$artifact_upload_count" != "2" ]]; then
|
||||
fail "OpenCode review artifacts are uploaded from both workflow paths"
|
||||
fail "OpenCode review upload-artifact is pinned to v4 in both workflow paths"
|
||||
fi
|
||||
pass "OpenCode review artifacts are uploaded from both workflow paths"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user