Skip to content

Wave-protocol hardening, profile-invariance principle, and skill dedup - #2

Merged
daniellam258 merged 3 commits into
mainfrom
skill-dedup-wave-hardening
Aug 10, 2026
Merged

daniellam258 merged 3 commits into
mainfrom
skill-dedup-wave-hardening

Conversation

@daniellam258

Copy link
Copy Markdown
Contributor

Ports three improvements matured downstream in a consuming repo back to the shared skills, re-expressed generically per CONTRIBUTING.

1. Wave-protocol gap fixes (fix:)

Review of the worktree-per-task wave protocol in production use found five gaps, all in delivery-pipeline/references/worktree-wave-execution.md plus one in delivery-handoff:

  • Resume: a resuming controller MUST continue an incomplete wave from its recorded manifest and wave-base SHA — never re-snapshot or pin a new base mid-wave — and MUST verify leftover task branches fork from that base.
  • Seeding: cache seeding MUST target a destination that does not exist yet (cp -R into an existing dir nests instead of merging).
  • Review packages: commits a controller-recorded peer pull cherry-picked from another task stay out of the pulling task's commit list — they are reviewed in the source task's package, and listing them would surface a false scope violation.
  • Stale peer pick: if the source task fails, is escalated, or materially changes before its own join, the pick is stale — drop it or hold the join, never integrate commits whose source never shipped.
  • Cleanup: dirty-worktree removal is a controller-MUST escalation, not a judgment call.
  • Handoff: join status is reconstructed from the ledger's join/escalation records, not read from the manifest (which records dispatch-time facts only).

2. One code path across infra profiles (feat:)

New principle in engineering-principles.md and a matching Profile neutrality section in design/references/design-guidance.md: product/protocol/core logic is identical across the local stack and every deployed environment; environment differences live only at named composition/materialization surfaces. Stated per phase — spec placement, implementation preference (extend the local materialization rather than branch the shared path), review lens, and evidence semantics (a shared-logic defect first seen deployed is a parity failure to root-cause). A repo's own infra-profile standard refines the rule.

3. Dedup onto single owners (docs:)

Applies the single-owner rule — every cross-file contract has exactly one owning file; other mentions are ≤1 line plus a pointer — to duplication the reference split had not yet caught: delegation-prompt shape (→ context-efficiency § Delegation and returns), ADR supersession mechanics (→ adr-conventions § Lifecycle), learn entry format (→ learn-template.md), design levels (→ design-conventions § Design Levels), spec-plan freshness paraphrase (→ context-efficiency capsule rules), spec-plan/workflow AC restatements (→ acceptance-criteria.md), plus in-file trims in codebase-docs (duplicate example tree, split-heuristic restatements) and discover-efforts. No rule loses its only home; each cut's pointer target was verified to own the content before cutting.

Versions bumped per skill (minor for the two behavior/guidance additions, patch elsewhere). bash scripts/skill-lint.sh passes.

A resuming controller must continue an unfinished wave from its recorded
manifest instead of pinning a new base; cache seeding must target a
nonexistent destination; dirty-worktree removal escalates instead of
forcing; peer-pulled commits stay out of the pulling task's review-package
commit list; and a stale peer pick (source task failed or changed) is
dropped or held, never integrated. Handoffs reconstruct join status from
the ledger's join and escalation records rather than expecting it in the
manifest.
Product, protocol, and core logic are profile-invariant; environment
differences live only at named composition and materialization surfaces.
Engineering principles state what that means per phase (spec, implement,
review, evidence), and design guidance gains a profile-neutrality section.
A repo's own infra-profile standard refines the rule.
Give each cross-file contract one owning file and reduce other mentions
to a pointer: delegation-prompt shape (context-efficiency), ADR
supersession (adr-conventions), learn entry format (learn-template),
design levels (design-conventions), spec-plan freshness (context-
efficiency capsule rules), AC dispositions (acceptance-criteria). Trim
in-file repetition in codebase-docs and discover-efforts without dropping
any rule.
@daniellam258
daniellam258 merged commit 2df1096 into main Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant