Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion plugins/claude-ops/.claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json",
"name": "claude-ops",
"version": "0.17.2",
"version": "0.17.3",
"description": "Claude Code operations toolkit. Seven skills: observability (read locally captured telemetry — OTEL store, collector, hook-event JSONL, ccusage — with trend reports and store pruning), known-issues (search known Claude product GitHub bugs, check service health, maintain a persistent tracked-issue registry), changelog (ingest Claude Code changelog entries and integrate them into the current repo), plugins (bring a machine's plugin fleet current on demand — marketplace refresh, effective-scope updates including in-repo project/local installs, new-plugin install per policy, scope-divergence detection and explicit convergence), morning-brief (read-only gh-based operator morning view — queue-label counts, merge-ready PRs, parked decisions with their RECOMMENDED lines, and loop-lane telemetry freshness), lanes (start/restart/stop/status loop lanes as named background Claude Code sessions seeded from canonical prompt files, with per-lane model/effort and a repo-pull + marketplace-refresh launch step), and a re-runnable setup action that settles where the known-issues registry lives. Plus a family of seven advisory *-audit telemetry-emitter hooks (API errors, config changes, instruction loads, permission denials, pre-compaction, skill usage, tool failures) that emit the shared hook-telemetry envelope, and a reference sink that maps envelopes into the hook-events.jsonl the observability skill reads.",
"author": {
"name": "Melodic Software",
Expand Down
14 changes: 14 additions & 0 deletions plugins/claude-ops/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,20 @@
All notable changes to the `claude-ops` plugin are documented here. Format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning.

## [0.17.3]

### Changed

- **lanes: recorded why the mid-session staleness git probe is not `!`-injected.**
Evaluated the lanes skill's git probes against the precompute convention (#864).
The two `git rev-parse --show-toplevel` probes in `SKILL.md`'s front matter are
already `!` dynamic-context injections (fallback + `shell: bash`), so nothing to
convert there. The `context/refresh.md` staleness probe correctly stays a body
instruction — it fails all four conditions: conditional (only when weighing a
restart), needs a computed `<lane-launch-commit>` argument, and its `git fetch`
is an unbounded network round-trip that mutates remote-tracking refs. Added that
reason inline so a future reader does not re-litigate the decision.

## [0.17.2]

### Changed
Expand Down
10 changes: 10 additions & 0 deletions plugins/claude-ops/skills/lanes/context/refresh.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,16 @@ launch pulls first, so a running lane's skills correspond to that commit). Any
output = an unconsumed merge. Swap the pathspec for whichever installed plugin a
lane runs.

**Not an `!` injection candidate.** This probe is deliberately a body instruction,
not `!` dynamic-context injection — it fails every condition of the precompute
convention (playbooks skill-authoring `reference/precompute-context.md`). It is
**conditional**, consulted only when weighing a restart rather than up front on
every `lanes` invocation; it needs a **computed argument** (`<lane-launch-commit>`,
plus the pathspec of whichever plugin a lane runs) that a single-pass injection
cannot supply; and its `git fetch` is **neither bounded nor pure-read** — a network
round-trip that also updates remote-tracking refs. Safe to run by hand (it touches
no branch or worktree), wrong to inline at load time.

Getting those changes onto disk on restart (marketplace refresh + per-scope
update) is the `plugins` skill's job — see its
[context/sync.md](../../plugins/context/sync.md); the lanes launch already runs
Expand Down
Loading