Skip to content

feat(plugin): harden skills from three field reports (v0.9.0)#87

Merged
avrabe merged 2 commits into
mainfrom
feat/plugin-field-hardening
Jun 11, 2026
Merged

feat(plugin): harden skills from three field reports (v0.9.0)#87
avrabe merged 2 commits into
mainfrom
feat/plugin-field-hardening

Conversation

@avrabe

@avrabe avrabe commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Digests three real-use field reports of the pulseengine-claude v0.8.x skills and applies every concrete improvement they surfaced. Bumps the plugin + marketplace to v0.9.0.

The throughline

The de-dup discipline ("single source of truth — reference, don't restate") had a flaw the field exposed: anything reachable only in the operating-contract memory is unreachable at execution time when that file isn't loaded — and the merge-wait was nobody's job.

Changes

release-execution — restate the universal gate rules as a self-contained, reachable checklist in the skill (the contract keeps the rationale; the skill carries the operational asserts); add merge-wait teeth (a PR that merged in seconds didn't wait for checks).

pulseengine-feature-loop — step 8 owns the merge-wait instead of delegating-and-assuming; recurring N/A on the witness/sigil steps is a backlog item, not an exemption (escalate after 3 features — this is how a real MC/DC gap and a missing attestation chain stayed hidden); self-verify cadence made concrete (before every tag, every ~2 features).

issue-hunt — self-echo filter (the loop's own triage comments no longer re-trigger it; filter by author + comment id); structured pending_gates state so a PR opened-but-unlanded gets owned and merged on a later pass; re-pull from watermark −60s + dedup (exact-boundary clock-skew misses); verify the .claude/ state file is actually git-ignored before writing (it got committed once).

operating-contract — trust a test exit code, not a grepped "all green" tail (run one cargo at a time); campaign invariants as a numbered hard checklist + cadence + the second-order gate-hardening traps; new "degraded infrastructure is not failure" block (queued ≠ failed; never clear queued main CI as stale; diagnose before re-dispatching).

🤖 Generated with Claude Code

avrabe and others added 2 commits June 11, 2026 07:30
Apply concrete fixes from three real-use field reports (v1.35→v1.55 relay,
~8-pass issue-hunt, v0.22→v0.27 gale) of the v0.8.x skills. The throughline:
de-dup discipline left safety-critical gate rules reachable only in the
operating-contract memory — unreachable at execution time when that file
isn't loaded — and left the merge-wait unowned.

release-execution:
- Restate the universal gate rules as a self-contained, reachable checklist
  in the skill (the contract keeps the rationale; the skill carries the
  operational asserts) instead of deferring entirely to the memory.
- Add merge-wait teeth: a PR that merged in seconds didn't wait for checks —
  that's a red flag, not a convenience.

pulseengine-feature-loop:
- Step 8 now owns the merge-wait instead of delegating and assuming.
- Recurring N/A on steps 5/6 (witness/sigil) is a backlog item, not an
  exemption — escalate after three features running (this is how a real
  MC/DC gap and a missing attestation chain stayed hidden).
- Make the self-verify cadence concrete: before every tag, every ~2 features.

issue-hunt:
- Self-echo filter: drop items whose only post-watermark activity is the
  loop's own comments (filter by author + comment id), so it stops chasing
  its own tail.
- Structured pending_gates state (pr, watcher, action_on_green) so a PR
  opened-but-unlanded gets owned and merged on a later pass; resolve gates
  at the top of each pass.
- Re-pull from watermark −60s and dedup (exact-boundary clock skew misses).
- Verify .claude/ state file is actually git-ignored before writing — it
  got committed once.

operating-contract:
- Ground-claims: trust a test exit code, not a grepped "all green" tail;
  run one cargo at a time.
- Campaign invariants as a numbered hard checklist with cadence + the
  second-order gate-hardening traps (paths-ignore × required checks,
  strict:true merge train).
- New block: degraded infrastructure is not failure — queued ≠ failed,
  never clear queued main CI as stale, diagnose before re-dispatching.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…urce

Review of the field-report pass surfaced that the reachability fix
(restating gate rules inline in release-execution and the feature-loop
land step) silently contradicts the de-dup principle #86 established —
and an unstated principle is the thing that drifts next: a future
drift-sweep would "correctly" re-consolidate the inline copies back into
the contract, reintroducing the exact bug the field report caught.

- operating-contract: add "Single-source by default — restate inline
  only where absence is unsafe", making the exception explicit policy.
  The test is unsafe-action vs worse-output; execution-critical safety
  rules are intentionally redundant and labeled, everything else stays
  single-source; a drift-sweep must not consolidate the labeled copies.
- Label both inline copies (release-execution, feature-loop step 8) as
  the deliberate reachability-redundancy exception, pointing back to it.
- Generalize the exit-code-over-summary lesson: it's any grepped verifier
  (pytest, kani, verus, CI log), with cargo as the example, not the rule.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@avrabe avrabe merged commit 54595da into main Jun 11, 2026
1 check passed
@avrabe avrabe deleted the feat/plugin-field-hardening branch June 11, 2026 05:34
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