---
phase: 25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t
plan: 06
subsystem: revive-skill-doc
tags: [skill-doc, revive, echo-commune, two-slice, phase-25-d-10-d-11, d-25.1-05, d-25.1-06]

# Dependency graph
requires:
  - phase: 25.1
    plan: 01
    provides: "<project-context-resolved> sentinel — anchors the same two-slice contract this doc teaches (referenced indirectly via the cross-linked /spt:live and /spt:commune surfaces; not directly grepped by revive/SKILL.md)"
  - phase: 25.1
    plan: 05
    provides: "/spt:live echo_commune envelope catalog entry now teaches the two-slice body shape; this plan cross-links to it as the canonical receive-side envelope surface"
  - phase: 25
    provides: "Two-slice body taxonomy (psyche.md §<output_envelope> lines 282-323) — the contract the new section cites by phase-decision number"
  - phase: 23
    provides: "<EVENT type='echo_commune'> outer envelope shape — the wrapper inside which the two-slice body lives, as cross-linked to /spt:live"
provides:
  - "revive/SKILL.md echo-commune teaching at the live re-entry surface — short section (~4 lines body) cross-linking /spt:live and /spt:listen"
  - "cross-link discipline carried into the revive surface: envelope shape → /spt:live, body parsing → /spt:listen, no rule duplication"
affects: []

# Tech tracking
tech-stack:
  added: []
  patterns:
    - "Short cross-ref section at re-entry surfaces (revive) — name the rule via decision cite, link to canonical source, never restate semantics"
    - "Decision cite-in-section-body: '(Phase 29 AUTO-EC)', '(Phase 25 D-10/D-11)', '(D-25.1-05)' inline citations preserve traceability without bloating the section"

key-files:
  created:
    - .planning/phases/25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t/25.1-06-SUMMARY.md
  modified:
    - plugin/spt/skills/revive/SKILL.md

key-decisions:
  - "Insertion point: between existing line 83 (/spt:listen dual-path sentence) and the closing 'Important:' footer — chosen per plan recommendation; preserves both bookends"
  - "Section header at ## level: '## Echo-commune brief (post-revive)' — matches existing H2 hierarchy of '## Messaging Command Reference' rather than nesting under it as ### (the echo-commune topic is sibling-scope, not a sub-aspect of messaging-command reference)"
  - "Cross-link only — receive-side teaching at /spt:live (envelope) + /spt:listen (parsing); revive does NOT duplicate either surface, honoring T-25.1-06-02 and T-25.1-06-03 mitigations"
  - "Size constraint honored: 4 lines net file delta (85 → 89) — well under the ~6-line RESEARCH §Touchpoint 5 ceiling and the ~8-line plan acceptance criterion"

patterns-established:
  - "Re-entry-surface skill docs (revive) teach echo-commune as a short cross-ref section, not a full taxonomy restatement — full teaching lives at /spt:live (receive) and /spt:commune (authoring)"

requirements-completed: []

# Metrics
duration: 1min
completed: 2026-05-22
---

# Phase 25.1 Plan 06: Revive Skill Doc Echo-Commune Teaching Summary

**Surgical insertion of a short `## Echo-commune brief (post-revive)` section into `plugin/spt/skills/revive/SKILL.md` (between the existing `/spt:listen` cross-link sentence at line 83 and the closing `Important:` footer at line 85) alerts a revived agent that a SessionStart-triggered `<EVENT type="echo_commune">` brief may arrive immediately on resume, cross-links `/spt:live` for the envelope catalog and `/spt:listen` for body parsing, mentions the Phase 25 D-10/D-11 two-slice body shape, cites D-25.1-05 (absorb both slices as one continuous brief), and remains silent on the untagged-commune fallback per D-25.1-07 — all in 4 net lines.**

## Performance

- **Duration:** ~1 min
- **Started:** 2026-05-22T07:41:55Z (Wave 2 sequential executor)
- **Completed:** 2026-05-22T07:42:35Z
- **Tasks:** 1
- **Files modified:** 1 (`plugin/spt/skills/revive/SKILL.md`)

## Accomplishments

- `plugin/spt/skills/revive/SKILL.md` gains a new `## Echo-commune brief (post-revive)` H2 section between line 83 (the existing dual-path `/spt:listen` cross-link sentence) and the closing `**Important:**` footer.
- Cross-link to `/spt:live` for the full echo_commune envelope catalog entry (the surface Plan 05 just extended at `live/SKILL.md` line 268).
- Cross-link to `/spt:listen` for body-parsing rules (a SECOND `/spt:listen` reference; the pre-existing line 83 reference is preserved unchanged).
- Phase 25 D-10/D-11 two-slice envelope (`<live-context>` + optionally `<project-context>`) named in the new section, with D-25.1-05 ("absorb both slices as one continuous resume brief") cited inline.
- Phase 29 AUTO-EC cited inline so a future reader can trace WHY the brief auto-fires on revive without leaving the section.
- All four negative gates honored: `plugin/spt/skills/live/SKILL.md`, `plugin/spt/skills/listen/SKILL.md`, `psyche.md`, `src/owl/resume.rs` ALL unmodified (`git status --short` empty for those paths).
- D-25.1-07 silence on the untagged-commune fallback honored — none of the six forbidden phrases (`untagged`, `auto-classify`, `safety net`, `will figure it out`, `if you forget`, `fallback`) appear in the file.
- File size constraint honored: 85 → 89 lines (+4 net), well under the plan's ~8-line maximum and the RESEARCH §Touchpoint 5 ~6-line ceiling.

## Before/After Line Count

| Measurement | Pre-edit | Post-edit | Delta |
|---|---|---|---|
| `plugin/spt/skills/revive/SKILL.md` line count | 85 | 89 | +4 |

Plan acceptance criterion: "File line count grows by at most ~8 lines" — **met (+4 ≤ +8)**. RESEARCH §Touchpoint 5 — Risks ceiling: "if it grows past ~6 lines, refactor to a one-line cross-ref to /live" — **met (4 ≤ 6)**.

## Verbatim Quote of the New Section (As It Appears in the Final File)

The following block was inserted between the existing `/spt:listen` dual-path sentence and the closing `**Important:**` footer:

```markdown
## Echo-commune brief (post-revive)

A revive at SessionStart may immediately surface an `<EVENT type="echo_commune" from="<your-id>-psyche">` brief — the haiku-summary echo-commune fired by your Psyche wrapper as part of the resume cycle (Phase 29 AUTO-EC). The body is wrapped in the Phase 25 D-10/D-11 two-slice envelope (`<live-context>` plus optionally `<project-context>`); absorb both slices as one continuous resume brief (D-25.1-05). See `/spt:live` for the full echo_commune envelope catalog entry and `/spt:listen` for body-parsing rules.
```

Net structural change in the file: 4 lines added (1 blank separator + 1 header line + 1 blank + 1 paragraph line), zero lines deleted. Surrounding text (`After revive, message handling follows the same dual-path protocol...` on the line above; `**Important:** While your perch is active...` on the line below) preserved verbatim.

## Grep Gate Outputs (Post-Edit)

| # | Gate | Required | Actual | Pass |
|---|---|---|---|---|
| 1 | `grep -c 'echo_commune' plugin/spt/skills/revive/SKILL.md` | ≥ 1 (was 0 pre-edit) | **1** | ✓ |
| 2 | `grep -c '/spt:live' plugin/spt/skills/revive/SKILL.md` | ≥ 1 | **1** | ✓ |
| 3 | `grep -ic 'two-slice' plugin/spt/skills/revive/SKILL.md` | ≥ 1 | **1** | ✓ |
| 4 | `grep -c '/spt:listen' plugin/spt/skills/revive/SKILL.md` | ≥ 1 (pre-edit baseline 1; new section adds a second) | **2** | ✓ |
| 5 | `grep -Ec 'untagged\|auto-classify\|safety net\|will figure it out\|if you forget' plugin/spt/skills/revive/SKILL.md` | = 0 (D-25.1-07) | **0** | ✓ |
| 6 | `grep -c 'Important:' plugin/spt/skills/revive/SKILL.md` | ≥ 1 (existing closing footer) | **1** | ✓ |
| — | `grep -c '## Messaging Command Reference' plugin/spt/skills/revive/SKILL.md` | ≥ 1 (existing) | **1** | ✓ |
| — | `grep -c '### Primary (Monitor)' plugin/spt/skills/revive/SKILL.md` | ≥ 1 (existing) | **1** | ✓ |
| — | `grep -c '### Fallback (Monitor unavailable)' plugin/spt/skills/revive/SKILL.md` | ≥ 1 (existing) | **1** | ✓ |

All six required grep gates pass plus all three preserved-structure sanity greps.

## Negative Gates (All Honored)

| File / Region | Status |
|---|---|
| `plugin/spt/skills/listen/SKILL.md` | NOT modified — `git status --short` empty for this path; body-parsing source-of-truth (lines 169-173) untouched |
| `plugin/spt/skills/live/SKILL.md` | NOT modified — Plan 05's surface preserved; revive cross-links to it without re-touching |
| `psyche.md` | NOT modified — Phase 25 lock preserved; receive-side teaching is doc-only, no embedded prompt change |
| `src/owl/resume.rs` | NOT modified — D-25.1-06 Touchpoint 6 deferred (SD-2); no rebuild required |
| revive/SKILL.md frontmatter (lines 1-8) | NOT modified — `name`, `description`, `argument-hint`, `allowed-tools` all intact |
| revive/SKILL.md `## Messaging Command Reference` (line 26) | NOT modified |
| revive/SKILL.md `### Primary (Monitor)` (line 58) | NOT modified |
| revive/SKILL.md `### Fallback (Monitor unavailable)` (line 69) | NOT modified |
| revive/SKILL.md closing `**Important:**` footer | NOT modified — bookend preserved verbatim |
| revive/SKILL.md existing line 83 (`/spt:listen` dual-path sentence) | NOT modified — bookend preserved verbatim |

`git status --short plugin/spt/skills/listen/SKILL.md plugin/spt/skills/live/SKILL.md psyche.md src/owl/resume.rs` post-commit returns empty output — all four explicitly out-of-scope files unmodified.

## Confirmation: No Other Files Modified

The single commit `c9095ff` touches exactly one file:

```
plugin/spt/skills/revive/SKILL.md | 4 ++++
1 file changed, 4 insertions(+)
```

Zero deletions. Zero additional files. The pre-existing untracked artifacts noted in the session-start `git status` (Cargo.lock, .gitignore, .planning/config.json, the various `??` plan and research artifacts for sibling phases/quicks) all pre-date this plan's scope and remain unstaged.

## Cross-Link Validation

| Link | Target | Purpose | Pattern |
|---|---|---|---|
| `/spt:live` | `plugin/spt/skills/live/SKILL.md` (Plan 05's extended echo_commune catalog entry, line 268) | Envelope shape — the four-attribute `<EVENT type="echo_commune" from="..." timestamp="..." note="...">body</EVENT>` shape catalog lives there | Forward link for envelope shape (per `must_haves.key_links`) |
| `/spt:listen` (new section reference) | `plugin/spt/skills/listen/SKILL.md` lines 169-173 | Body parsing rules — `<br>`-split + HTML-unescape order | Forward link for parsing (consistent with existing line 83 link per `must_haves.key_links`) |
| `/spt:listen` (existing line 83 reference) | Same | Preserved verbatim from pre-edit state | Pre-existing |

Two-hop discoverability path the new section enables for a revived agent: read the alert → `/spt:live` for envelope shape → `/spt:listen` (already cross-referenced from `/spt:live` line 268 per Plan 05) for body-parsing rules.

## Deviations from Plan

**None.** Plan executed exactly as written:

- Insertion point: the plan's recommended landing spot (between line 83 and the `Important:` footer at line 85) — used.
- Section header: the plan's recommended header `## Echo-commune brief (post-revive)` — used verbatim.
- Section body: the plan's recommended prose — used essentially verbatim with one minor copy-edit (the plan's `\<EVENT type=\"echo_commune\" from=\"<your-id>-psyche\">` notation was rendered cleanly as `<EVENT type="echo_commune" from="<your-id>-psyche">` since markdown inline-code backticks handle the angle brackets without HTML escaping).
- Negative gates: all four prohibited files unmodified, all six forbidden D-25.1-07 phrases absent.
- Size constraint: 4 lines added (under the ~6-line section ceiling AND the ~8-line file delta ceiling).

No Rule 1 / 2 / 3 / 4 deviations encountered. No checkpoints reached. No auth gates encountered.

## Files Created/Modified

- `plugin/spt/skills/revive/SKILL.md` — single edit between lines 83 and 85; 4 net new lines (new H2 section + paragraph + blank-line separators)
- `.planning/phases/25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t/25.1-06-SUMMARY.md` — this file

## Task Commits

1. **Task 1: Add short echo-commune section to revive/SKILL.md with /spt:live + /spt:listen cross-links** — `c9095ff` (docs)

## Decisions Made

- **Header level H2 (`##`), not H3 (`###`)** — the existing structure has `## Messaging Command Reference` as H2 with `### Primary (Monitor)` / `### Fallback (Monitor unavailable)` as sub-aspects of THAT command reference. The echo-commune brief is sibling-scope (a post-revive arrival event, not a sub-aspect of messaging-command reference), so H2 is the correct hierarchical placement.
- **Insertion AFTER the existing `/spt:listen` dual-path sentence (line 83), BEFORE the `**Important:**` footer (line 85)** — chosen per the plan's recommendation. This keeps the existing dual-path teaching as the top-level message-handling primer and the new echo-commune-specific section as a peer-level callout for the auto-fired arrival case.
- **No anti-example, no worked illustration, no shape re-statement** — per the plan's explicit `What NOT to do` list. The echo_commune envelope shape illustration lives in `/spt:live` (Plan 05's surface); body-parsing rules live in `/spt:listen` lines 169-173. Revive cross-links to both rather than duplicating either.
- **Cite `(Phase 29 AUTO-EC)` inline** — matches the established convention in live/SKILL.md (line 268's echo_commune bullet uses the same `(Phase 29 AUTO-EC)` inline citation that Plan 05 preserved); preserves cross-file consistency in decision-cite-in-context formatting.

## Threat Model Disposition

All four `mitigate`-disposition threats from PLAN.md §threat_model are mitigated:

| Threat ID | Mitigation Status | Evidence |
|---|---|---|
| T-25.1-06-01 (section growth past size constraint) | MITIGATED | 4 net lines added (well under ~6-line ceiling and ~8-line acceptance criterion); file 85 → 89 |
| T-25.1-06-02 (echo_commune envelope shape duplicated, drift hazard with /spt:live) | MITIGATED | New section cross-links to `/spt:live` for envelope shape; the four-attribute `<EVENT type="echo_commune" from="..." timestamp="..." note="...">body</EVENT>` shape is NOT restated in revive/SKILL.md (only the abbreviated two-attribute form `<EVENT type="echo_commune" from="<your-id>-psyche">` appears, as a recognition-pattern alert, not a shape catalog) |
| T-25.1-06-03 (body-parsing rules duplicated, drift hazard with /spt:listen) | MITIGATED | New section cross-links to `/spt:listen` for body parsing; `<br>`-split + HTML-unescape order are NOT restated in revive/SKILL.md (grep confirms zero `<br>` occurrences in the new section) |
| T-25.1-06-04 (D-25.1-07 violation — untagged-commune fallback surfaced) | MITIGATED | Gate 5 confirms 0 hits for all six forbidden phrases |

T-25.1-06-SC (package installs) is n/a — doc-only plan, no package operations.

## Self-Check: PASSED

Verification ran:

- `[ -f plugin/spt/skills/revive/SKILL.md ]` → FOUND
- `[ -f .planning/phases/25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t/25.1-06-SUMMARY.md ]` → FOUND (this file)
- `git log --oneline --all | grep -q c9095ff` → FOUND (Task 1 commit)
- Gate 1 (`echo_commune` count) → 1 (≥ 1 expected; was 0 pre-edit) ✓
- Gate 2 (`/spt:live` count) → 1 (≥ 1 expected) ✓
- Gate 3 (`two-slice` count, case-insensitive) → 1 (≥ 1 expected) ✓
- Gate 4 (`/spt:listen` count) → 2 (≥ 1 expected; pre-edit baseline 1 preserved + new) ✓
- Gate 5 (forbidden D-25.1-07 phrases) → 0 (= 0 expected) ✓
- Gate 6 (`Important:` footer count) → 1 (≥ 1 expected) ✓
- Existing-structure sanity: `## Messaging Command Reference` (1), `### Primary (Monitor)` (1), `### Fallback (Monitor unavailable)` (1) — all preserved ✓
- Line count delta: 85 → 89 = +4 (≤ +8 acceptance ceiling; ≤ +6 RESEARCH §Touchpoint 5 ceiling) ✓
- Negative diffs: `plugin/spt/skills/listen/SKILL.md`, `plugin/spt/skills/live/SKILL.md`, `psyche.md`, `src/owl/resume.rs` all empty in `git status --short` ✓
- Threat register T-25.1-06-01..04 — all mitigated per evidence above

## Next Phase Readiness

- **Phase 25.1 complete** — Plan 06 was the final Wave 2 plan. All six plans (01-06) shipped. Receive-side teaching anchored at `/spt:live` (Plan 05) AND `/spt:revive` (this plan); authoring-side teaching anchored at `/spt:commune` (Plan 02) and `/spt:signoff` (Plan 03). The `<project-context-resolved>` sentinel (Plan 01) anchors the Self-side in-project detection contract that the doc rewrites teach to.
- **No deploy needed.** Per CLAUDE.md and STATE.md, end-of-milestone single `DEPLOY.ps1` cadence — all Wave 2 doc edits batch in. Live agents on older binaries are unaffected by this plan (doc-only, no embedded prompt or runtime change).
- **Phase 25.1 wrap-up artifacts** (PHASE-SUMMARY.md, optional verifier sweep) should be the next workflow step.

---
*Phase: 25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t*
*Completed: 2026-05-22*
