You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: O3 — devtrail charter drift --no-ailog-suppress always emits INFO line (#92)
Closes the last pending design discussion from issue #81 (option (c) per
Sentinel CHARTER-06 telemetry on issue #91).
Resolution: --no-ailog-suppress now always emits at least one line at end
of output, regardless of N. Default mode is unchanged.
Default + N=0: silent (no new noise — the common case)
Default + N>0: AILOG-suppressed: N path(s) block (existing behavior)
--flag + N=0: INFO: AILOG-aware suppression bypassed
(would have suppressed: 0 paths)
--flag + N>0: INFO: AILOG-aware suppression bypassed
(would have suppressed: N path(s) listed above)
+ per-path list with documenting AILOG ID
Implementation: compute_ailog_suppressions now runs unconditionally so the
count is available regardless of whether suppression is applied. The flag
controls only whether suppression mutates the rendered drift list.
The asymmetry matches `git diff --stat` — silent default, signal on
explicit opt-in. Operators with dispatch suspicion have a one-flag debug
path that always says something.
Tests: 3 new integration tests (N=0 with flag emits INFO; N>0 with flag
emits INFO + per-path list; default at N=0 stays silent — negative test
that we didn't add noise). 414/414 pass.
Bumps cli-3.8.1 / fw-4.7.1 across canonical surface (governance footers,
README + CLI-REFERENCE versioning tables, ADOPTION-GUIDE references).
Inline-annotation observation from the same Sentinel telemetry (paths in
WARNING block don't carry [suppressed] inline) is NOT bundled — flagged
as separate UX polish item, tracked in a follow-up issue, deferred for
empirical confirmation in a future cycle before changing.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Closes the last `pending design discussion` carried forward from issue #81:
13
+
**O3** — when `devtrail charter drift --no-ailog-suppress` was passed and there
14
+
was nothing for the AILOG-aware filter to suppress (N=0), the output was
15
+
**byte-identical** to the default. Operators couldn't tell whether the
16
+
suppression logic ran and found nothing, or whether the flag was wired
17
+
incorrectly.
18
+
19
+
Resolution voted by Sentinel CHARTER-06 telemetry on issue #91 (option (c)
20
+
"--no-ailog-suppress only", with the N=0 confirming-line extension):
21
+
22
+
- Default mode stays silent at N=0 — no new noise in the common case.
23
+
-`--no-ailog-suppress` always emits at least one line confirming dispatch:
24
+
- At N=0: `INFO: AILOG-aware suppression bypassed (would have suppressed: 0 paths)`
25
+
- At N>0: `INFO: AILOG-aware suppression bypassed (would have suppressed: N path(s) listed above as drift)` followed by a per-path list with the AILOG ID that documents the risk.
26
+
27
+
The asymmetry matches the `git diff --stat` shape — silent default, signal on
28
+
explicit opt-in. Operators with dispatch suspicion now have a one-flag debug
29
+
path that always says something.
30
+
31
+
### Fixed (CLI)
32
+
33
+
-**`devtrail charter drift --no-ailog-suppress`** — emits a confirming
34
+
`INFO:` line at end of output regardless of N. The line names the count
35
+
and (when N>0) lists each path that would have been suppressed with its
36
+
documenting AILOG ID. Default mode (suppression on) is unchanged: silent
37
+
at N=0, existing `AILOG-suppressed: N path(s)` block at N>0.
38
+
39
+
Implementation: `compute_ailog_suppressions` now runs unconditionally so
40
+
the count is available regardless of whether suppression is applied. The
41
+
flag controls only whether the suppression mutates the rendered drift
42
+
list.
43
+
44
+
### Tests
45
+
46
+
- 3 new integration tests:
47
+
-`charter_drift_no_ailog_suppress_emits_info_line_when_n_zero` (the
0 commit comments