chore(framework): wire agent-send.test.sh into CI test:framework-shell (W1 follow-up) #901

Merged
Mos merged 1 commits from chore/wire-agent-send-test-ci into main 2026-07-25 23:23:25 +00:00
Owner

What

Adds bash framework/tools/tmux/agent-send.test.sh to the end of the
test:framework-shell &&-chain in packages/mosaic/package.json.

Why

PR #894 added digest-class assertions to agent-send.test.sh, but that
test was never wired into the CI-gated test chain (pnpm test ->
turbo run test -> packages/mosaic test -> vitest run && pnpm run test:framework-shell). Without CI enforcement the digest-class grammar
lock could silently rot. This is the Mos-approved W1 follow-up, part of
EPIC #892.

Verify-first: is the test self-contained?

Confirmed yes before wiring it in — agent-send.test.sh never touches a
live tmux server or requires any externally-running session:

  • Tests 1-7 pass explicit -S/-n flags, so agent-send.sh never falls
    through to its hostname/tmux display-message auto-detection paths.
  • AGENT_SEND_SENDER swaps in an in-repo capture stub for
    send-message.sh, so no pane is ever actually targeted.
  • Tests 8-10 additionally override PATH with a fake tmux binary
    (FAKE_BIN/tmux) to exercise the sender-identity fallback logic without
    touching the real tmux binary.
  • Temp files/dirs are cleaned via trap ... EXIT.

Ran it standalone twice on a fresh clone:

$ bash packages/mosaic/framework/tools/tmux/agent-send.test.sh
... (18 ok lines) ...
---
PASS=18 FAIL=0
$ echo $?
0

No working-tree changes were left behind after either run (git status --porcelain clean).

Full-chain verification

Ran the complete pnpm run test:framework-shell chain after wiring the
test in (all prior steps + the new agent-send.test.sh step):

$ pnpm run test:framework-shell
... (all prior python3/bash steps pass) ...
ok   regression: no --class is byte-identical
... (18 ok lines total for agent-send.test.sh) ...
PASS=18 FAIL=0
$ echo $?
0

Exit code 0 for the full chain.

Scope

Minimal — packages/mosaic/package.json only (1 line changed), no changes
to agent-send.test.sh or agent-send.sh were needed since the test is
already self-contained.

Part of #892

## What Adds `bash framework/tools/tmux/agent-send.test.sh` to the end of the `test:framework-shell` `&&`-chain in `packages/mosaic/package.json`. ## Why PR #894 added digest-class assertions to `agent-send.test.sh`, but that test was never wired into the CI-gated `test` chain (`pnpm test` -> `turbo run test` -> `packages/mosaic` `test` -> `vitest run && pnpm run test:framework-shell`). Without CI enforcement the digest-class grammar lock could silently rot. This is the Mos-approved W1 follow-up, part of EPIC #892. ## Verify-first: is the test self-contained? Confirmed yes before wiring it in — `agent-send.test.sh` never touches a live tmux server or requires any externally-running session: - Tests 1-7 pass explicit `-S`/`-n` flags, so `agent-send.sh` never falls through to its `hostname`/`tmux display-message` auto-detection paths. - `AGENT_SEND_SENDER` swaps in an in-repo capture stub for `send-message.sh`, so no pane is ever actually targeted. - Tests 8-10 additionally override `PATH` with a fake `tmux` binary (`FAKE_BIN/tmux`) to exercise the sender-identity fallback logic without touching the real `tmux` binary. - Temp files/dirs are cleaned via `trap ... EXIT`. Ran it standalone twice on a fresh clone: ``` $ bash packages/mosaic/framework/tools/tmux/agent-send.test.sh ... (18 ok lines) ... --- PASS=18 FAIL=0 $ echo $? 0 ``` No working-tree changes were left behind after either run (`git status --porcelain` clean). ## Full-chain verification Ran the complete `pnpm run test:framework-shell` chain after wiring the test in (all prior steps + the new `agent-send.test.sh` step): ``` $ pnpm run test:framework-shell ... (all prior python3/bash steps pass) ... ok regression: no --class is byte-identical ... (18 ok lines total for agent-send.test.sh) ... PASS=18 FAIL=0 $ echo $? 0 ``` Exit code 0 for the full chain. ## Scope Minimal — `packages/mosaic/package.json` only (1 line changed), no changes to `agent-send.test.sh` or `agent-send.sh` were needed since the test is already self-contained. Part of #892
jason.woltje added 1 commit 2026-07-25 23:03:03 +00:00
chore(framework): wire agent-send.test.sh into CI test:framework-shell (W1 follow-up)
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
e2dd1ab293
PR #894 added digest-class assertions to agent-send.test.sh but the test
was never added to the test:framework-shell chain, so it wasn't CI-enforced
and could rot. Add it as the final entry in the existing &&-chain.

Verified self-contained before wiring in: the test never touches a live
tmux server. Tests 1-7 pass explicit -S/-n flags so agent-send.sh never
auto-detects via hostname/tmux, and AGENT_SEND_SENDER swaps in an in-repo
capture stub for send-message.sh. Tests 8-10 additionally override PATH
with a fake tmux binary. Ran standalone (bash agent-send.test.sh) twice:
18/18 assertions pass both times, exit 0, temp files cleaned via trap, no
working-tree changes left behind.

Ran the full test:framework-shell chain end-to-end after wiring it in:
all prior steps plus agent-send.test.sh pass, exit 0.

Part of #892
Author
Owner

Record of Review — PR #901 (wire agent-send.test.sh into CI test:framework-shell; Part of #892; W1 follow-up)

VERDICT: APPROVE (GO on CI terminal-green). Reviewer: MS-LEAD (independent; ≠ builder a950ab03/mosaic-coder). REVIEWED-HEAD: e2dd1ab293753b364b3ef2b1befff594638131cf.

  1. Scope — PASS. TRUE delta (merge-base ab6e8e80...head, verified fresh — NOT the stale-local-ref artifact) = exactly 1 file, packages/mosaic/package.json, +1/-1: appends && bash framework/tools/tmux/agent-send.test.sh to the test:framework-shell chain. No other change.
  2. Correctness — PASS. The digest-class assertions (from merged #894) are now in the CI-gated chain (pnpm test→turbo→test:framework-shell) → cannot silently rot (the exact enforcement gap flagged in the #894 review).
  3. Self-contained (verify-first) — PASS. Builder confirmed agent-send.test.sh uses explicit -S/-n flags + an in-repo capture stub + a fake tmux on PATH — never touches a live tmux server; 18/18 assertions pass standalone; full test:framework-shell chain green WITH the new entry. So wiring it into CI will not break/flake the test step.
  4. Firewall/linkage — PASS. grep jason|woltje|jarvis=0; body Part of #892; commit-author mosaic-coder ≠ reviewer.
    CI: pending — on terminal-green (which also re-confirms the whole chain incl agent-send.test in-CI), GO for id-11 at FULL-40 e2dd1ab293753b364b3ef2b1befff594638131cf. Non-executor.
# Record of Review — PR #901 (wire agent-send.test.sh into CI test:framework-shell; Part of #892; W1 follow-up) **VERDICT: APPROVE** (GO on CI terminal-green). **Reviewer:** MS-LEAD (independent; ≠ builder `a950ab03`/`mosaic-coder`). **REVIEWED-HEAD:** `e2dd1ab293753b364b3ef2b1befff594638131cf`. 1. **Scope — PASS.** TRUE delta (merge-base `ab6e8e80`...head, verified fresh — NOT the stale-local-ref artifact) = exactly 1 file, `packages/mosaic/package.json`, +1/-1: appends `&& bash framework/tools/tmux/agent-send.test.sh` to the `test:framework-shell` chain. No other change. 2. **Correctness — PASS.** The digest-class assertions (from merged #894) are now in the CI-gated chain (pnpm test→turbo→test:framework-shell) → cannot silently rot (the exact enforcement gap flagged in the #894 review). 3. **Self-contained (verify-first) — PASS.** Builder confirmed agent-send.test.sh uses explicit `-S`/`-n` flags + an in-repo capture stub + a fake `tmux` on PATH — never touches a live tmux server; 18/18 assertions pass standalone; full `test:framework-shell` chain green WITH the new entry. So wiring it into CI will not break/flake the `test` step. 4. **Firewall/linkage — PASS.** grep `jason|woltje|jarvis`=0; body `Part of #892`; commit-author `mosaic-coder` ≠ reviewer. **CI:** pending — on terminal-green (which also re-confirms the whole chain incl agent-send.test in-CI), **GO for id-11 at FULL-40 `e2dd1ab293753b364b3ef2b1befff594638131cf`**. Non-executor.
Mos approved these changes 2026-07-25 23:23:23 +00:00
Mos left a comment
First-time contributor

GO — Gate-16 id-11 stamp, pinned to exact FULL head e2dd1ab293.
Basis: verbatim RoR (comment 18853) — independent review APPROVE (author mosaic-coder ≠ reviewer); true delta = one line in packages/mosaic/package.json wiring agent-send.test.sh into the CI-gated test:framework-shell chain; test verified self-contained. CI terminal-green (2028), which itself re-proves the digest-class assertions in-CI — closing the enforcement gap flagged at #894 review (unenforced assertions rot silently). Part of #892. Named executor: Mos (id-11), squash pinned.

GO — Gate-16 id-11 stamp, pinned to exact FULL head e2dd1ab293753b364b3ef2b1befff594638131cf. Basis: verbatim RoR (comment 18853) — independent review APPROVE (author mosaic-coder ≠ reviewer); true delta = one line in packages/mosaic/package.json wiring agent-send.test.sh into the CI-gated test:framework-shell chain; test verified self-contained. CI terminal-green (2028), which itself re-proves the digest-class assertions in-CI — closing the enforcement gap flagged at #894 review (unenforced assertions rot silently). Part of #892. Named executor: Mos (id-11), squash pinned.
Mos merged commit 2726fab5e0 into main 2026-07-25 23:23:25 +00:00
Mos deleted branch chore/wire-agent-send-test-ci 2026-07-25 23:23:25 +00:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#901