Skip to content

fix: O3 — charter drift --no-ailog-suppress always emits INFO line (cli-3.8.1 + fw-4.7.1)#92

Merged
montfort merged 1 commit into
mainfrom
fix/o3-no-ailog-suppress-info-line
May 3, 2026
Merged

fix: O3 — charter drift --no-ailog-suppress always emits INFO line (cli-3.8.1 + fw-4.7.1)#92
montfort merged 1 commit into
mainfrom
fix/o3-no-ailog-suppress-info-line

Conversation

@montfort
Copy link
Copy Markdown
Contributor

@montfort montfort commented May 3, 2026

Summary

Closes the last pending design discussion from issue #81. Resolution voted by Sentinel CHARTER-06 telemetry on issue #91: option (c) --no-ailog-suppress only, with the N=0 confirming-line extension.

Behavior matrix

Mode N Output
Default (suppression on) 0 silent — no new noise in the common case
Default >0 existing AILOG-suppressed: N path(s) block (no change)
--no-ailog-suppress 0 INFO: AILOG-aware suppression bypassed (would have suppressed: 0 paths)
--no-ailog-suppress >0 INFO: line with count + per-path list including the documenting AILOG ID

The asymmetry matches git diff --stat — silent default, signal on explicit opt-in.

Implementation

compute_ailog_suppressions now runs unconditionally so the count is available regardless of whether suppression is applied to the output. The flag controls only whether suppression mutates the rendered drift list.

Test plan

  • 3 new integration tests:
    • charter_drift_no_ailog_suppress_emits_info_line_when_n_zero (the primary case the issue is about)
    • charter_drift_no_ailog_suppress_emits_info_line_when_n_nonzero (count + per-path listing)
    • charter_drift_default_stays_silent_when_n_zero (negative test: confirms we did NOT add noise to the common case)
  • 414/414 tests pass.

What's NOT in this release

  • Inline [suppressed] annotation on WARNING block items (separate observation from Sentinel CHARTER-06 telemetry; tracked as follow-up issue, deferred for empirical confirmation in a future cycle before changing).
  • HTTP API clients for charter audit (Phase 3 v1 if a real adopter requires).

🤖 Generated with Claude Code

…O line

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>
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