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:
Carlos Florêncio
2026-06-30 13:10:40 +01:00
committed by GitHub
parent 657b92eb69
commit 2d73a3d1db
49 changed files with 2929 additions and 299 deletions
@@ -55,6 +55,25 @@ func TestOfficeDefault_TriggersCompileThroughEngine(t *testing.T) {
t.Errorf("Work.on_comment[0] target = %q, want primary", commentActions[0].QueueRun.Target)
}
done := findStep(tmpl.Steps, "Done")
if done == nil {
t.Fatal("Done step not present in template")
}
doneSpec := engine.CompileStep(stepFromDefinition(*done))
doneCommentActions := doneSpec.Events[engine.TriggerOnComment]
if len(doneCommentActions) != 1 {
t.Fatalf("Done.on_comment compiled to %d actions, want 1", len(doneCommentActions))
}
if doneCommentActions[0].Kind != engine.ActionQueueRun {
t.Errorf("Done.on_comment[0].Kind = %q, want queue_run", doneCommentActions[0].Kind)
}
if doneCommentActions[0].QueueRun == nil {
t.Fatal("Done.on_comment[0].QueueRun is nil")
}
if doneCommentActions[0].QueueRun.Target != engine.TargetPrimary {
t.Errorf("Done.on_comment[0] target = %q, want primary", doneCommentActions[0].QueueRun.Target)
}
review := findStep(tmpl.Steps, "Review")
if review == nil {
t.Fatal("Review step not present in template")
@@ -122,3 +122,10 @@ steps:
stage_type: custom
allow_manual_move: true
show_in_command_panel: true
events:
on_comment:
- type: queue_run
config:
target: primary
task_id: this
reason: task_comment