# Side-Effects Review — v0.28.43 Release Summary

**Version / slug:** `0.28.43`
**Date:** `2026-04-15`
**Author:** Echo (autonomous)
**Second-pass reviewer:** per-artifact (see individual artifacts linked below)

## Summary of the change

This release is a bundled ship of the forward-plan two-track work from 2026-04-15. It includes the outbound signal/authority rework, the new `/instar-dev` skill and its enforcement hooks, the pre-respawn drain, and retrospective reviews for work that pre-dated the skill. Each discrete change has its own detailed side-effects artifact; this document is an index and roll-up covering the release as a whole.

Each underlying change went through its own side-effects review. Nothing here is un-reviewed.

## Individual artifacts (the substance of the review)

Each of these is the complete side-effects review for one piece of the release. Read them for the detailed per-change analysis:

- [`instar-dev-skill.md`](./instar-dev-skill.md) — the new `/instar-dev` skill and its pre-commit/pre-push enforcement infrastructure. Bootstrap exception fired on first commit; gate verified blocking and passing correctly on subsequent commits.
- [`outbound-signal-authority-rework.md`](./outbound-signal-authority-rework.md) — reshaping of the outbound messaging path to comply with the signal-vs-authority principle. Independent second-pass review flagged four issues, all resolved before commit.
- [`retrospective-drain-and-principle.md`](./retrospective-drain-and-principle.md) — retrospective review for the pre-respawn drain and scaffold-template principle changes that shipped in commit `903233b` before the skill existed.
- [`skill-audience-clarification.md`](./skill-audience-clarification.md) — follow-on tightening to make the skill's audience (instar-dev agent only, never end users) unambiguous in prose and frontmatter.

## Decision-point inventory

Changes to decision points in this release:

- **Removed**: `server/routes.ts` junk-payload 422 path (was a direct-block violator) — reshaped into a signal feeding the outbound authority.
- **Removed**: `server/routes.ts` outbound-dedup 422 path (was a direct-block violator) — reshaped into a signal feeding the outbound authority.
- **Added**: `server/routes.ts` `checkOutboundMessage()` — unified single-authority helper combining signals from both detectors with conversational context.
- **Modified**: `core/MessagingToneGate.review()` — accepts signals parameter; enforces rule-id discipline; exposes `invalidRule` flag on drift.
- **Added**: `scripts/instar-dev-precommit.js` — pre-commit gate on instar repo (developer-process domain, not agent-runtime).
- **Added**: `scripts/pre-push-gate.js` Section 5 — release-level artifact verification (developer-process domain).

Net result: the two outbound violators identified in the decision-surface inventory are resolved. The inventory is updated to reflect the new state.

## Roll-up verdict across the seven review dimensions

1. **Over-block**: reduced. Narrative technical prose and repeated-at-user-request messages that the previous multi-layer blocker rejected now pass through. Risk of new over-blocks in the signal-driven rules (B8/B9) is mitigated by requiring conversational context.
2. **Under-block**: unchanged. The same detector coverage as before; now funneled into a smarter decision layer.
3. **Level-of-abstraction fit**: improved. Detectors at the right layer (pure classifiers). Authority at the right layer (context-rich LLM). Enforcement at the right layer (pre-commit/pre-push for the developer-process domain).
4. **Signal-vs-authority compliance**: fully compliant. The two violators are resolved. The reworked outbound path is the canonical application of the principle.
5. **Interactions**: tested. Unit tests cover signal rendering, rule enforcement, fail-open paths. Integration tests on route handlers pass.
6. **External surfaces**: 422 response body gains a `rule` field (non-breaking addition). No runtime impact on other agents. Developer workflow on the instar repo changes: new gate enforces review.
7. **Rollback cost**: low. Individual commits are revertable. No persistent state mutations.

## Second-pass review

**Per-artifact second-pass findings are embedded in each individual artifact.** The outbound rework's second-pass was the most substantive — an independent reviewer flagged four issues (bypass flags on non-telegram channels, context-requirement for signal-driven rules, B9 test coverage, route-level integration test gap). The first three were resolved before commit; the fourth was acknowledged as deferred follow-up.

## Evidence pointers

Per-change evidence is in each artifact's Evidence section. Live-verification-on-running-server evidence for the outbound rework:

- Block-case test on running echo server: returned 422 with `rule: "B1_CLI_COMMAND"` — new enumerated rule id populated, confirming reworked code is live.
- Pass-case test (short "test" payload to new topic): passed the gate — signal-routed instead of auto-blocked, confirming detector-to-signal reshape is active.

Pre-push gate Section 5 verified to require this artifact before release commits qualifying for review can be pushed. This release is the first exercise of that enforcement in the pre-push path.
