cctally 1.27.0 → 1.28.0

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.
@@ -331,7 +331,13 @@ def doctor_gather_state(
331
331
  # `dashboard_bind_stored = "loopback"` (the same fallback the
332
332
  # original try/except gave); the dedicated `config_json_valid`
333
333
  # check surfaces the corruption separately.
334
+ #
335
+ # `dashboard.expose_transcripts` (Plan 2, spec §5) is read off the same raw
336
+ # JSON via the same chokepoint (defaults False; hand-edited junk → False).
337
+ # `_check_safety_dashboard_bind` only consults it when the bind is LAN, so
338
+ # a loopback report is byte-identical whether or not it's set.
334
339
  dashboard_bind_stored = "loopback"
340
+ expose_transcripts = False
335
341
  try:
336
342
  if _cctally_core.CONFIG_PATH.exists():
337
343
  raw_cfg = json.loads(_cctally_core.CONFIG_PATH.read_text(encoding="utf-8"))
@@ -339,6 +345,9 @@ def doctor_gather_state(
339
345
  dashboard_bind_stored = (
340
346
  c._config_known_value(raw_cfg, "dashboard.bind") or "loopback"
341
347
  )
348
+ expose_transcripts = bool(
349
+ c._config_known_value(raw_cfg, "dashboard.expose_transcripts")
350
+ )
342
351
  except (json.JSONDecodeError, OSError):
343
352
  pass
344
353
 
@@ -427,6 +436,8 @@ def doctor_gather_state(
427
436
  codex_jsonl_present=codex_jsonl_present,
428
437
  dashboard_bind_stored=dashboard_bind_stored,
429
438
  runtime_bind=runtime_bind,
439
+ # Conversation viewer (Plan 2, spec §5): only consulted on a LAN bind.
440
+ expose_transcripts=expose_transcripts,
430
441
  config_json_error=config_json_error,
431
442
  update_state=update_state,
432
443
  update_state_error=update_state_error,