@windyroad/retrospective 0.12.3 → 0.12.4-preview.259
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -54,22 +54,28 @@ The output is the deep layer's baseline. Parse each `BUCKET <name> bytes=<N>` ro
|
|
|
54
54
|
The cheap layer reports `hooks` and `skills` as aggregates. The deep layer decomposes each by plugin, citing concrete byte counts per plugin:
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
|
-
|
|
58
|
-
for plugin_dir in packages/*/hooks; do
|
|
59
|
-
plugin=$(basename "$(dirname "$plugin_dir")")
|
|
60
|
-
bytes=$(find "$plugin_dir" -type f -name '*.sh' -print0 2>/dev/null | xargs -0 wc -c 2>/dev/null | tail -1 | awk '{print $1}')
|
|
61
|
-
printf 'PLUGIN-HOOKS %s bytes=%s\n' "$plugin" "${bytes:-0}"
|
|
62
|
-
done
|
|
63
|
-
|
|
64
|
-
# Per-plugin skills decomposition
|
|
65
|
-
for plugin_dir in packages/*/skills; do
|
|
66
|
-
plugin=$(basename "$(dirname "$plugin_dir")")
|
|
67
|
-
bytes=$(find "$plugin_dir" -type f -name 'SKILL.md' -print0 2>/dev/null | xargs -0 wc -c 2>/dev/null | tail -1 | awk '{print $1}')
|
|
68
|
-
printf 'PLUGIN-SKILLS %s bytes=%s\n' "$plugin" "${bytes:-0}"
|
|
69
|
-
done
|
|
57
|
+
wr-retrospective-list-plugin-attribution "${CLAUDE_PROJECT_DIR:-.}"
|
|
70
58
|
```
|
|
71
59
|
|
|
72
|
-
|
|
60
|
+
The `wr-retrospective-list-plugin-attribution` command is a `$PATH`-resolved shim shipped in `packages/retrospective/bin/` that dispatches the canonical `packages/retrospective/scripts/list-plugin-attribution.sh` body. ADR-049 — never invoke the canonical script via repo-relative path; the path does not resolve in adopter trees. Equivalent contract to ADR-049's `wr-retrospective-measure-context-budget` shim.
|
|
61
|
+
|
|
62
|
+
Output rows (one per plugin, terse machine-readable per ADR-038 ≤150 bytes):
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
PLUGIN-HOOKS <plugin> bytes=<N>
|
|
66
|
+
PLUGIN-SKILLS <plugin> bytes=<N>
|
|
67
|
+
PLUGIN-ATTRIBUTION not-measured reason=<reason>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Resolution order (handled by the helper, transparent to this skill):
|
|
71
|
+
|
|
72
|
+
1. **Source-tree mode** — when invoked from a windyroad source-repo session, walks `packages/<plugin>/{hooks,skills}` directly.
|
|
73
|
+
2. **Cache-fallback mode** — when invoked from an adopter session (no `packages/` under `${CLAUDE_PROJECT_DIR}`), the helper sniffs `$PATH` for plugin-cache `bin/` entries (`*/cache/<owner>/<plugin>/<version>/bin`) and back-walks each plugin's root for hooks + skills byte counts.
|
|
74
|
+
3. **Neither resolves** — emits a `PLUGIN-ATTRIBUTION not-measured reason=no-plugin-source-resolvable` sentinel per ADR-026. Treat as ungrounded; do NOT fabricate per-plugin numbers when this row appears.
|
|
75
|
+
|
|
76
|
+
Per-row contract: each `PLUGIN-HOOKS` / `PLUGIN-SKILLS` row carries a concrete byte count from the helper's `find ... -name '*.sh' / SKILL.md` + `wc -c` measurement chain. The aggregate cheap-layer `hooks` row equals the sum of all `PLUGIN-HOOKS` rows (sanity-check the report); `skills` row equals the sum of all `PLUGIN-SKILLS` rows.
|
|
77
|
+
|
|
78
|
+
P153 / ADR-049 — do NOT re-introduce repo-relative `packages/*/hooks` (or `skills` / `scripts` / `bin`) directory-enumeration glob loops in SKILL.md prose; route every plugin walk through `wr-retrospective-list-plugin-attribution` (or an equivalent bin-shimmed helper). The grep-as-lint at `packages/shared/test/no-repo-relative-script-paths-in-skills.bats` fails CI on regression.
|
|
73
79
|
|
|
74
80
|
### 3. Per-turn attribution (when session log is available)
|
|
75
81
|
|