@groundnuty/macf 0.2.28 → 0.2.33
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/dist/.build-info.json +2 -2
- package/dist/cli/claude-sh.d.ts +5 -1
- package/dist/cli/claude-sh.d.ts.map +1 -1
- package/dist/cli/claude-sh.js +6 -2
- package/dist/cli/claude-sh.js.map +1 -1
- package/dist/cli/env-files.d.ts +2 -1
- package/dist/cli/env-files.d.ts.map +1 -1
- package/dist/cli/env-files.js +3 -2
- package/dist/cli/env-files.js.map +1 -1
- package/package.json +2 -2
- package/plugin/rules/silent-fallback-hazards.md +60 -10
package/dist/.build-info.json
CHANGED
package/dist/cli/claude-sh.d.ts
CHANGED
|
@@ -50,8 +50,12 @@ export declare function settingsGetHelperLines(): string[];
|
|
|
50
50
|
* reachable over Tailscale / other
|
|
51
51
|
* network paths.
|
|
52
52
|
*
|
|
53
|
-
* Default endpoint is `http://
|
|
53
|
+
* Default endpoint is `http://127.0.0.1:14318` per the canonical k3d
|
|
54
54
|
* cluster topology (`groundnuty/macf-devops-toolkit:CLAUDE.md` —
|
|
55
|
+
* the IPv4 literal, NOT `localhost`, avoids the `localhost`→`::1`
|
|
56
|
+
* resolution ambiguity on hosts where getaddrinfo returns the IPv6
|
|
57
|
+
* loopback first; aligns with the `MACF_ADVERTISE_HOST ?? '127.0.0.1'`
|
|
58
|
+
* sibling default in this file. See macf#418 —
|
|
55
59
|
* `:14318` is the host-port-mapped serverlb endpoint; the
|
|
56
60
|
* pre-2026-04-25 compose-stack `:4318` is retired). Surfaced in
|
|
57
61
|
* groundnuty/macf#282 — CV-agents had zero telemetry for 34min because
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-sh.d.ts","sourceRoot":"","sources":["../../src/cli/claude-sh.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuBnD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CA4B/D;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAejD;AA0ED
|
|
1
|
+
{"version":3,"file":"claude-sh.d.ts","sourceRoot":"","sources":["../../src/cli/claude-sh.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuBnD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CA4B/D;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAejD;AA0ED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,EAAE,CA+DV;AA4BD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAkBhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAiB1D;AAiBD;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAgC1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAuFhE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CAUnF"}
|
package/dist/cli/claude-sh.js
CHANGED
|
@@ -205,8 +205,12 @@ function tmuxSelfWrapLines() {
|
|
|
205
205
|
* reachable over Tailscale / other
|
|
206
206
|
* network paths.
|
|
207
207
|
*
|
|
208
|
-
* Default endpoint is `http://
|
|
208
|
+
* Default endpoint is `http://127.0.0.1:14318` per the canonical k3d
|
|
209
209
|
* cluster topology (`groundnuty/macf-devops-toolkit:CLAUDE.md` —
|
|
210
|
+
* the IPv4 literal, NOT `localhost`, avoids the `localhost`→`::1`
|
|
211
|
+
* resolution ambiguity on hosts where getaddrinfo returns the IPv6
|
|
212
|
+
* loopback first; aligns with the `MACF_ADVERTISE_HOST ?? '127.0.0.1'`
|
|
213
|
+
* sibling default in this file. See macf#418 —
|
|
210
214
|
* `:14318` is the host-port-mapped serverlb endpoint; the
|
|
211
215
|
* pre-2026-04-25 compose-stack `:4318` is retired). Surfaced in
|
|
212
216
|
* groundnuty/macf#282 — CV-agents had zero telemetry for 34min because
|
|
@@ -229,7 +233,7 @@ export function otelTelemetryLines(config, env = process.env) {
|
|
|
229
233
|
if (env['MACF_OTEL_DISABLED'] === '1' || env['MACF_OTEL_DISABLED'] === 'true') {
|
|
230
234
|
return [];
|
|
231
235
|
}
|
|
232
|
-
const endpoint = env['MACF_OTEL_ENDPOINT'] ?? 'http://
|
|
236
|
+
const endpoint = env['MACF_OTEL_ENDPOINT'] ?? 'http://127.0.0.1:14318';
|
|
233
237
|
// The endpoint value gets embedded verbatim in a shell double-
|
|
234
238
|
// quoted export. Reject chars that would break quoting or trigger
|
|
235
239
|
// substitution: `"`, `$`, backtick, backslash, newline. Same
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-sh.js","sourceRoot":"","sources":["../../src/cli/claude-sh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG1C,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAC9E,EAAE;AACF,0DAA0D;AAC1D,2DAA2D;AAC3D,+DAA+D;AAC/D,kEAAkE;AAClE,0DAA0D;AAC1D,qEAAqE;AACrE,oEAAoE;AACpE,sDAAsD;AACtD,EAAE;AACF,iEAAiE;AACjE,gEAAgE;AAChE,oEAAoE;AACpE,2DAA2D;AAC3D,EAAE;AACF,sEAAsE;AACtE,yEAAyE;AAEzE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,MAAM;YACT,OAAO;gBACL,kCAAkC;gBAClC,8BAA8B,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG;aACzE,CAAC;QACJ,KAAK,KAAK;YACR,OAAO;gBACL,iCAAiC;gBACjC,6BAA6B,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG;aACjD,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,qCAAqC;gBACrC,8BAA8B,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG;aACnD,CAAC;QACJ,KAAK,OAAO;YACV,8DAA8D;YAC9D,iEAAiE;YACjE,+DAA+D;YAC/D,mEAAmE;YACnE,mEAAmE;YACnE,OAAO;gBACL,mCAAmC;gBACnC,8BAA8B,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG;aACnD,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,GAAoB;IACvC,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC;AACvC,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,EAAE;QACF,wEAAwE;QACxE,wEAAwE;QACxE,yEAAyE;QACzE,8EAA8E;QAC9E,yEAAyE;QACzE,uBAAuB;QACvB,uBAAuB;QACvB,8FAA8F;QAC9F,6FAA6F;QAC7F,MAAM;QACN,GAAG;KACJ,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,iBAAiB;IACxB,OAAO;QACL,EAAE;QACF,gEAAgE;QAChE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,qCAAqC;QACrC,GAAG;QACH,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,mEAAmE;QACnE,+DAA+D;QAC/D,mEAAmE;QACnE,oEAAoE;QACpE,qEAAqE;QACrE,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,gEAAgE;QAChE,wCAAwC;QACxC,GAAG;QACH,4CAA4C;QAC5C,uEAAuE;QACvE,2CAA2C;QAC3C,oEAAoE;QACpE,qDAAqD;QACrD,4DAA4D;QAC5D,yCAAyC;QACzC,QAAQ;QACR,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,2DAA2D;QAC3D,yBAAyB;QACzB,0CAA0C;QAC1C,iDAAiD;QACjD,8CAA8C;QAC9C,kGAAkG;QAClG,MAAM;QACN,IAAI;KACL,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"claude-sh.js","sourceRoot":"","sources":["../../src/cli/claude-sh.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/env-files.d.ts
CHANGED
|
@@ -93,7 +93,8 @@ export declare function generateEnvRegistry(config: MacfAgentConfig): string;
|
|
|
93
93
|
* + identity-bearing OTel resource attributes (macf#357). Mirrors
|
|
94
94
|
* `claude-sh.ts`'s `otelTelemetryLines` (including the same shell-unsafe-
|
|
95
95
|
* char rejection on MACF_OTEL_ENDPOINT and the same default endpoint
|
|
96
|
-
* `http://
|
|
96
|
+
* `http://127.0.0.1:14318` per macf-devops-toolkit canonical k3d topology —
|
|
97
|
+
* the IPv4 literal avoids the `localhost`→`::1` resolution ambiguity, macf#418).
|
|
97
98
|
*
|
|
98
99
|
* **Minimal placeholder when `MACF_OTEL_DISABLED=1`** (operator opt-out at
|
|
99
100
|
* template-time per macf#197). Body shrinks to header + schema_version +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-files.d.ts","sourceRoot":"","sources":["../../src/cli/env-files.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiHnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAwB3C;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA6BnE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAkEjE;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA+BhE;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAuCnE;AAMD
|
|
1
|
+
{"version":3,"file":"env-files.d.ts","sourceRoot":"","sources":["../../src/cli/env-files.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAiHnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAwB3C;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA6BnE;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAkEjE;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA+BhE;AAMD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAuCnE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAwGR;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAiC/D;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,eAAe,GACtB,mBAAmB,CA2BrB"}
|
package/dist/cli/env-files.js
CHANGED
|
@@ -408,7 +408,8 @@ export function generateEnvRegistry(config) {
|
|
|
408
408
|
* + identity-bearing OTel resource attributes (macf#357). Mirrors
|
|
409
409
|
* `claude-sh.ts`'s `otelTelemetryLines` (including the same shell-unsafe-
|
|
410
410
|
* char rejection on MACF_OTEL_ENDPOINT and the same default endpoint
|
|
411
|
-
* `http://
|
|
411
|
+
* `http://127.0.0.1:14318` per macf-devops-toolkit canonical k3d topology —
|
|
412
|
+
* the IPv4 literal avoids the `localhost`→`::1` resolution ambiguity, macf#418).
|
|
412
413
|
*
|
|
413
414
|
* **Minimal placeholder when `MACF_OTEL_DISABLED=1`** (operator opt-out at
|
|
414
415
|
* template-time per macf#197). Body shrinks to header + schema_version +
|
|
@@ -446,7 +447,7 @@ export function generateEnvTelemetry(config, env = process.env) {
|
|
|
446
447
|
];
|
|
447
448
|
return assemble(operatorHeaderLines('generateEnvTelemetry'), body);
|
|
448
449
|
}
|
|
449
|
-
const endpoint = env['MACF_OTEL_ENDPOINT'] ?? 'http://
|
|
450
|
+
const endpoint = env['MACF_OTEL_ENDPOINT'] ?? 'http://127.0.0.1:14318';
|
|
450
451
|
// Same allowlist pattern as otelTelemetryLines in claude-sh.ts. The
|
|
451
452
|
// endpoint value gets embedded verbatim in a shell double-quoted export.
|
|
452
453
|
if (/["$`\\\n\r]/.test(endpoint)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-files.js","sourceRoot":"","sources":["../../src/cli/env-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"env-files.js","sourceRoot":"","sources":["../../src/cli/env-files.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@groundnuty/macf",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.33",
|
|
4
4
|
"description": "Multi-Agent Coordination Framework CLI — coordinate Claude Code agents via GitHub. Installs as `macf` binary; use `macf init` to set up an agent workspace, `macf update` to refresh rules + version pins.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"test:watch": "vitest"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@groundnuty/macf-core": "0.2.
|
|
38
|
+
"@groundnuty/macf-core": "0.2.33",
|
|
39
39
|
"commander": "^14.0.3",
|
|
40
40
|
"reflect-metadata": "^0.2.2",
|
|
41
41
|
"zod": "^4.0.0"
|
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
> **Workspaces without full `macf init`** (e.g. `groundnuty/macf` itself, or any Claude Code workspace operated by a bot that isn't a MACF-registered agent) can still get this canonical rule via `macf rules refresh --dir <workspace>`. Same copy, no App credentials or registry required.
|
|
6
6
|
|
|
7
|
-
This rule names the CLASS so agents recognize the shape on first encounter rather than re-discovering each instance from scratch.
|
|
7
|
+
This rule names the CLASS so agents recognize the shape on first encounter rather than re-discovering each instance from scratch. Nine specific instances are documented below as worked examples spanning different architectural layers (identity, parsing, TUI binding, observability routing, config substitution, multi-agent coordination protocol, metric-instrumentation lifecycle, observability-endpoint routing, release-pipeline-partial-publish). Seven of nine have structural defenses applied or in flight — the pattern of defense generalizes alongside the pattern of hazard.
|
|
8
|
+
|
|
9
|
+
Instance 9 is annotated as **sister-shape** (failure correctly surfaced + partial side-effect breaks retry idempotency) — listed here for cross-reference convenience but warrants a sibling canonical rule (`partial-side-effect-hazards.md`) if more instances surface. The two classes share "multi-step pipeline where consumer assumes atomicity" but the failure surface differs: silent-fallback hides at the API boundary; partial-side-effect surfaces loudly but persists semi-state.
|
|
8
10
|
|
|
9
11
|
---
|
|
10
12
|
|
|
@@ -21,7 +23,7 @@ The trap is that defensive programming targets exit codes, but exit-code success
|
|
|
21
23
|
|
|
22
24
|
---
|
|
23
25
|
|
|
24
|
-
##
|
|
26
|
+
## Nine known instances
|
|
25
27
|
|
|
26
28
|
### Instance 1 — gh-token attribution traps
|
|
27
29
|
|
|
@@ -39,9 +41,9 @@ This is a distinct sub-case from the missing-helper / mis-pipefail / wrong-prefi
|
|
|
39
41
|
### Instance 2 — GitHub auto-close negation-blindness
|
|
40
42
|
|
|
41
43
|
**Surface:** PR / issue body markdown parsing
|
|
42
|
-
**Failure shape:** `Closes #N` / `Fixes #N` / `Resolves #N` (and lowercase / past-tense variants — 9 forms total) trigger GitHub's auto-close on merge **regardless of surrounding context** — including inside negations ("will NOT close #N"), quotes, hypothetical examples, or AC checklists. Revert commits inherit the keyword via the default `Revert "..."` wrapping and fire auto-close a second time on the revert merge.
|
|
43
|
-
**Recurrence:** Multiple confirmed incidents;
|
|
44
|
-
**Canonical defense:** `pr-discipline.md` + `coordination.md §Issue Lifecycle 1` — use `Refs #N` exclusively when issue was filed by someone else; never use any of the 9 auto-close keywords with `#N` regardless of intended context. When reverting, override the default revert message to strip the inherited keyword.
|
|
44
|
+
**Failure shape:** `Closes #N` / `Fixes #N` / `Resolves #N` (and lowercase / past-tense variants — 9 forms total) trigger GitHub's auto-close on merge **regardless of surrounding context** — including inside negations ("will NOT close #N"), quotes, hypothetical examples, or AC checklists. Markdown structure is not a shield — the parser scans raw body text, so a **markdown table cell or coordination checklist that DOCUMENTS the closure protocol itself** (e.g. a who-closes-when row reading `| Close #N when ACs satisfied | reporter | … |`) is a high-frequency variant — the very act of writing down reporter-owns-closure fires the premature close it describes. Revert commits inherit the keyword via the default `Revert "..."` wrapping and fire auto-close a second time on the revert merge.
|
|
45
|
+
**Recurrence:** Multiple confirmed incidents; revert-message-keyword-inheritance sub-mode confirmed 2026-04-29; closure-protocol-table-cell sub-mode confirmed 2026-05-20 on `macf#406` (Phase-5 tracking issue auto-closed 2 s after PR #410 merged, attributed to the merger with `commit_id: null`, **premature against an 8-item operator checklist**, and **~2 weeks undetected** — a peer's "stays OPEN" comment 10 min later did not catch it).
|
|
46
|
+
**Canonical defense:** `pr-discipline.md` + `coordination.md §Issue Lifecycle 1` — use `Refs #N` exclusively when issue was filed by someone else; never use any of the 9 auto-close keywords with `#N` regardless of intended context. When reverting, override the default revert message to strip the inherited keyword. **When a PR body must DESCRIBE closure mechanics (tables, checklists, protocol notes), lead with the issue number and a non-keyword verb (`#N is closed by the reporter once ACs met` / `reporter handles closure of #N`) — never place a `close`/`fix`/`resolve` verb immediately before `#N`.** Grep the drafted body for the keyword-then-`#N` pattern before posting.
|
|
45
47
|
|
|
46
48
|
### Instance 3 — Remote Control IPC blocking tmux send-keys
|
|
47
49
|
|
|
@@ -114,6 +116,53 @@ curl -G "$TEMPO/api/search" --data-urlencode 'q={resource."gen_ai.agent.name"=~"
|
|
|
114
116
|
|
|
115
117
|
This is a **secondary Pattern A failure mode** — the assertion script CAN return zero-traces and look like a Tier-1/2/3/4 firing when actually it's a query-syntax issue. Defense: when investigating "Pattern A reports zero traces," cross-check with the alternative query `{resource.service.name=~"macf-agent.*"}` (uses the OTel-canonical service-name attribute which TraceQL handles natively, no dotted-key quoting needed). If that returns non-zero, the issue is query-syntax not silent-fallback.
|
|
116
118
|
|
|
119
|
+
### Instance 9 — Sigstore TLOG orphans on failed npm publish (partial-side-effect-on-failed-publish)
|
|
120
|
+
|
|
121
|
+
**Surface:** `npm publish` with `--provenance` (sigstore attestation) — the multi-step pipeline `sigstore TLOG entry submit → attest binding → npm registry PUT` where each step's success isn't atomic with the others.
|
|
122
|
+
|
|
123
|
+
**Failure shape:** Two observed sub-shapes, both producing orphan TLOG entries in the public sigstore transparency log:
|
|
124
|
+
|
|
125
|
+
- **Sub-shape A — sigstore-409-on-retry** (`v0.2.25` 2026-05-18T21:48Z, groundnuty/macf#373): first publish-run aborted on pre-existing test flakes after TLOG entry submitted. Retry via tag-recreate hit `TLOG_CREATE_ENTRY_ERROR (409)` — sigstore correctly rejects the duplicate entry, but the retry's attestation is rejected. Two consumer packages already published (`@groundnuty/macf{,-core}@0.2.25`) became orphans pointing at a never-published `@groundnuty/macf-channel-server@0.2.25`.
|
|
126
|
+
- **Sub-shape B — npm-404-after-sigstore-success** (`v0.2.29` 2026-05-19T21:30:32Z + `v0.2.30` 2026-05-19T22:17:36Z, groundnuty/macf#391+#397+#395 release-cuts): publish-workflow auth-step succeeded (`NPM_TOKEN` present + valid); sigstore TLOG entry submitted successfully (logIndex 1575263520 for v0.2.29; logIndex 1575475073 for v0.2.30); npm registry `PUT /@groundnuty%2fmacf-core` returned HTTP 404 `"not in this registry"`. Sigstore TLOG entries persisted; npm registry never received the package. Operator-side root-cause investigation in flight at codification time (candidate causes: npm-token-scope mismatch / OIDC trust conflict / 2FA-bypass missing / transient registry issue).
|
|
127
|
+
|
|
128
|
+
**Recurrence:** 3 instances across 2 distinct trigger mechanisms (sigstore-409-on-retry; npm-404-after-sigstore-success); same root-shape (partial side-effect persists after downstream publish failure).
|
|
129
|
+
|
|
130
|
+
**Why this is sister-shape, not strict silent-fallback:**
|
|
131
|
+
|
|
132
|
+
| Aspect | Silent-fallback (Instances 1-8) | sigstore-TLOG-orphan (Instance 9) |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| API exit code | success (0 / HTTP 200) | failure (non-0 / HTTP 4xx-5xx) |
|
|
135
|
+
| Failure signal | absent at API boundary | LOUD at API boundary (npm 404; sigstore 409) |
|
|
136
|
+
| Hazard surface | detection (failure invisible until downstream breaks) | recovery (failure surfaces correctly but partial side-effect breaks retry idempotency) |
|
|
137
|
+
| Class generalization | "operation success masks semantic failure" | "operation failure persists partial state that breaks retry" |
|
|
138
|
+
|
|
139
|
+
Both classes share "multi-step pipeline where consumer assumes atomicity" but the failure mode + structural defense differ. Listed here as Instance 9 for cross-reference convenience; **future structural-defense work warrants a sibling canonical rule `partial-side-effect-hazards.md`** if more instances surface (e.g., partial-side-effect database migrations, partial-side-effect distributed-transaction failures). Codification at sibling-rule level happens at the 5-instance threshold per the rule-promotion convention.
|
|
140
|
+
|
|
141
|
+
**Defense status:** Pattern recovery codified via DR-022 Amendment L (groundnuty/macf#380); pre-publish validation via Pattern D analog (Pattern D adapted from workflow-secrets-prechecks to publish-pipeline-prechecks). Two specific defense layers shipped + one in operator's queue:
|
|
142
|
+
|
|
143
|
+
- **Defense 1 — bump-version recovery (NOT tag-retry)** — DR-022 Amendment L canonical recovery procedure. When publish fails leaving sigstore TLOG orphans, recover via `npm version <next>` + fresh push, NOT `git tag -d + tag-recreate + force-push`. Fresh version produces a fresh TLOG entry + a fresh attestation; idempotent + clean. Applied successfully for v0.2.25 → v0.2.26 (instance 1 recovery). v0.2.29 + v0.2.30 also followed bump-version (29 → 30 → 31-pending), but the underlying npm-404 trigger is operator-side configuration, not retry-idempotency:
|
|
144
|
+
```bash
|
|
145
|
+
# WRONG (idempotency-breaking when retry hits TLOG-409 or repeats the original 404)
|
|
146
|
+
git tag -d v0.2.25
|
|
147
|
+
git tag v0.2.25 <new-sha>
|
|
148
|
+
git push --force origin v0.2.25 # triggers re-publish with same version → TLOG 409 collision
|
|
149
|
+
|
|
150
|
+
# RIGHT (orthogonal recovery)
|
|
151
|
+
# Bump version: 0.2.25 → 0.2.26 with whatever fixes
|
|
152
|
+
npm version 0.2.26 && git push origin v0.2.26 # fresh version, fresh TLOG entry, clean publish
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
- **Defense 2 — pre-flight registry-collision check** (Pattern D analog; groundnuty/macf#380): publish-workflow precheck step queries `npm view @scope/package@<version>` BEFORE invoking sigstore; aborts if the version already exists on the registry. Catches the same-version-retry-on-TLOG-409 failure shape at the workflow boundary (Pattern D's aggregate-fail-loud discipline applied to publish pipeline). Won't catch first-attempt npm-404 (instance 2/3 shape) where the version genuinely doesn't exist yet — that fail-mode requires Defense 3.
|
|
156
|
+
|
|
157
|
+
- **Defense 3 — TLOG-state observability** (in flight; devops-toolkit#74 + #77 dashboard live as of 2026-05-20T00:06:56Z): release-hygiene Grafana dashboard surfaces orphan-sigstore-attestations via `grafana-dashboards-release-hygiene` (UID `macf-release-hygiene`). Auto-detects "package N.M.K depends on N.M.K of sibling but sibling never published" + alerts when a tag's matching npm version is missing 24+ hours post-tag. Closes the operator-visibility gap that left v0.2.29 + v0.2.30 orphans accumulating without an automated catch.
|
|
158
|
+
|
|
159
|
+
**Cleanup pending after instance N+1 (codification followup):**
|
|
160
|
+
|
|
161
|
+
- v0.2.25 orphans (instance 1): `@groundnuty/macf{,-core}@0.2.25` published on npm → deprecate via `npm-deprecate.yml` workflow_dispatch (operator-side App-permission gate per DR-019 Amendment A — granted 2026-05-19, dispatch-allowlist for `npm-deprecate.yml` codified)
|
|
162
|
+
- v0.2.29 + v0.2.30 orphans (instances 2/3): npm registry never received the PUT → nothing to deprecate on npm side; sigstore TLOG entries persist by design (transparency log is append-only). Future audit-trail check should reconcile sigstore-TLOG entries against npm-registry-state to catch shape-mismatched orphans proactively.
|
|
163
|
+
|
|
164
|
+
**Codification rationale:** 3 instances across 2 trigger mechanisms + defense pattern stable + operator-witnessed across 2 calendar days (2026-05-18 + 2026-05-19) + cross-agent (instance 1 via science-agent's authoring; instances 2/3 via code-agent's release-cut workflow) — meets all four "When to add a new instance" criteria. The sister-class question (separate `partial-side-effect-hazards.md` canonical rule) is acknowledged inline + deferred to the 5-instance threshold per rule-promotion convention.
|
|
165
|
+
|
|
117
166
|
---
|
|
118
167
|
|
|
119
168
|
## How to recognize the class on first encounter
|
|
@@ -257,7 +306,7 @@ Silent-fallback hazards are **architectural**, not implementation bugs. They eme
|
|
|
257
306
|
|
|
258
307
|
For coordination-system safety analysis: this is a class of hazards multi-agent systems must explicitly defend against. Each new instance teaches the same lesson; the class-name is what makes the lesson transferable across agents.
|
|
259
308
|
|
|
260
|
-
### Defense-pattern emergence (
|
|
309
|
+
### Defense-pattern emergence (7-of-9 known instances have structural defense applied or shipped)
|
|
261
310
|
|
|
262
311
|
| Instance | Surface | Structural defense | Pattern |
|
|
263
312
|
|---|---|---|---|
|
|
@@ -266,13 +315,14 @@ For coordination-system safety analysis: this is a class of hazards multi-agent
|
|
|
266
315
|
| 3 — Remote Control IPC blocking tmux send-keys | Claude Code TUI input | Two-tier: consumer fleet structurally retired via channel-server primitive (DR-020 mTLS HTTPS POST); substrate fleet permanent operational reality — defense = rule-discipline + Pattern C fragility detector | Pattern C deployable as fragility detector |
|
|
267
316
|
| 4 — Loki/CH-logs pipeline divergence | OTLP logs routing | manifest warnings + shape-aware diagnostic | Pattern A |
|
|
268
317
|
| 5 — Workflow secrets-misnamed | GitHub Actions workflow inputs | Workflow precheck step | Pattern D |
|
|
269
|
-
| 6 — Cross-agent notification loop | Multi-agent coordination protocol | macf v0.2.4:
|
|
318
|
+
| 6 — Cross-agent notification loop | Multi-agent coordination protocol | macf v0.2.4 + v0.2.21: event-discriminator in receiver's `decideWake()` — autonomous events skip wake (observational-only); `event: 'custom'` (operator-driven) wakes; other `NotifyType`s preserve wake-on-receipt | Pattern E |
|
|
270
319
|
| 7 — OTel-counter cumulative-state vs short-lived-process lifecycle | Metric-instrumentation lifecycle | Two-phase: doc workaround `sum(increase(...))` + OTel SDK delta temporality | Pattern A |
|
|
271
320
|
| 8 — OTLP endpoint silent-drop | Observability-endpoint routing | Five-surface defense: CLI release-discipline + substrate testers env-override + canonical template `:14318` default + cluster-side compat port-map + agent-process `doctor-otel.sh` Pattern A | Pattern A (composite — first multi-architectural-layer case in this rule; instances 1-7 have single-pattern defenses) |
|
|
321
|
+
| 9 — Sigstore TLOG orphans on failed npm publish (sister-class) | npm publish + sigstore attestation pipeline | Three-defense composite: bump-version recovery (DR-022 Amendment L) + pre-flight registry-collision check (Pattern D analog, macf#380) + TLOG-state observability (devops-toolkit#74+#77 Grafana dashboard live) | Pattern D analog (pre-flight precheck) + recovery-procedure-codification |
|
|
272
322
|
|
|
273
|
-
|
|
323
|
+
Seven of nine instances have structural defense applied or shipped. Defense patterns (A, B, C, D, E) generalize across instances — they're reusable defense templates, not case-specific fixes. **Pattern A (result-invariant assertion at the boundary) bears the most weight** — it's the structural defense for instances 4, 7, AND 8 (3 of 9), each at a different architectural boundary (logs pipeline, metric counter, observability endpoint). Instance 8's five-surface defense topology (consumer canonical + cluster-side compat port-map + concrete Pattern A impl) demonstrates that structural defense at the observability-pipeline-class can compose across architectural layers — the canonical-distribution layer + the cluster-infrastructure layer + the assertion-script layer all reinforce each other rather than substituting for each other. Instance 9 demonstrates that the Pattern D template generalizes from workflow-secrets-prechecks to release-pipeline-prechecks AND that recovery-procedure-codification (DR-022 Amendment L's bump-version-not-tag-retry) is its own defense category — distinct from detection-pre-merge defenses (Patterns A/B/D) and discrimination-at-receiver defenses (Pattern E).
|
|
274
324
|
|
|
275
|
-
The breadth of layers spanned by 5 different defense patterns (identity, parsing, TUI binding, observability routing, config substitution, multi-agent coordination protocol, metric-instrumentation lifecycle, observability-endpoint routing) is independent evidence that the hazard CLASS is real. If silent-fallback was a single-instance accident, no defense pattern would emerge. **Pattern A's recurrence across 3 different observability boundaries (logs / metrics / endpoint) is the strongest signal that result-invariant assertion is the load-bearing structural-defense template for the entire observability-pipeline-class** of silent fallback.
|
|
325
|
+
The breadth of layers spanned by 5 different defense patterns (identity, parsing, TUI binding, observability routing, config substitution, multi-agent coordination protocol, metric-instrumentation lifecycle, observability-endpoint routing, release-pipeline-partial-publish) is independent evidence that the hazard CLASS is real. If silent-fallback was a single-instance accident, no defense pattern would emerge. **Pattern A's recurrence across 3 different observability boundaries (logs / metrics / endpoint) is the strongest signal that result-invariant assertion is the load-bearing structural-defense template for the entire observability-pipeline-class** of silent fallback.
|
|
276
326
|
|
|
277
327
|
---
|
|
278
328
|
|
|
@@ -286,7 +336,7 @@ Add when ALL of the following hold:
|
|
|
286
336
|
|
|
287
337
|
The class-name is what makes the lesson transferable, not multi-agent witness. A single-agent-confirmed instance with a concrete trace + identified defense pattern is sufficient for canonicalization (instances 4, 5, 7, 8 are all single-agent-confirmed). Cross-agent triangulation strengthens the framing but isn't a precondition.
|
|
288
338
|
|
|
289
|
-
Add as a new numbered section under "
|
|
339
|
+
Add as a new numbered section under "Nine known instances" (will become "Ten known instances" etc.) with the same fields: Surface / Failure shape / Recurrence / Defense status. Increment the intro paragraph's instance count + the Defense-pattern emergence header's `N-of-M known instances` count too.
|
|
290
340
|
|
|
291
341
|
---
|
|
292
342
|
|