Private
Public Access
0
0
Commit Graph

6 Commits

Author SHA1 Message Date
ed b9b1b2919e docs(styleguide): Phase 12.0+12.0.1 - read styleguide end-to-end; add Drain Points section
TIER-2 READ conductor/code_styleguides/error_handling.md before Phase 12.0.1.
The 7 sections reviewed: (1) The 5 Patterns, (2) Decision Tree, (3)
Anti-Patterns, (4) Hard Rules, (5) Boundary Types, (6) The Broad-Except
Distinction, (7) AI Agent Checklist.

12.0.1 changes to the styleguide:

(A) Add 'Drain Points: Where Result[T] Propagation Terminates' section
    after 'Boundary Types'. Codifies the user's principle (2026-06-17):

    'IF ANY PLACE HAS A ERROR LOG IT ALSO NEEDS A RESULT[T]. RESULT[T]
    PROPOGATES UNTIL IT REACHED A DRAIN POINT WHERE THE ERROR CAN BE
    HANDLED APPROPRIATELY WITHOUT CRASHING THE APP.'

    The 5 drain point patterns: HTTP error response, GUI error display,
    intentional app termination, telemetry emission, bounded retry.
    Each has a code example and a 'NOT a drain' counter-example.
    Explicitly states: sys.stderr.write(...) alone is NOT a drain.

(B) Update 'The Broad-Except Distinction' table to add an explicit row:
    'narrow except + log only | INTERNAL_SILENT_SWALLOW | Violation'.
    Adds 5 new rows for the 5 drain-point patterns (all Heuristic D
    compliant). Makes Heuristic #19 laundering impossible by spelling
    out narrow+log = violation.

(C) Add Rule #0 to the AI Agent Checklist: 'READ THIS STYLEGUIDE
    FIRST'. Forces every agent to read end-to-end before writing
    try/except code; acknowledge the read in the commit message.
    Cites the Phase 10 LAUNDERING HEURISTICS incident as the reason.
2026-06-18 09:14:45 -04:00
ed 9b5011231c docs(ai_client): rename send_result to send in 3 current docs
Doc consistency: guide_ai_client.md, guide_app_controller.md, and
the error_handling styleguide now reference the new symbol name.

Also fixes two consistency issues in error_handling.md introduced by
the mechanical rename:
1. The 'Deprecation: send -> send_result' section (lines 623-642) was
   rewritten as a 'Historical deprecation (added 2026-06-15, reverted
   2026-06-16)' note that points to the relevant track specs.
2. Line 204 (the 'Current State Audit' summary for src/ai_client.py)
   had a self-contradictory claim ('send() is the new public API;
   send() is @deprecated') after the rename. Updated to describe
   the canonical public API.

Historical archives (conductor/tracks/*/spec.md, conductor/tracks/*/plan.md,
docs/reports/*) are NOT modified - they document the 2026-06-15
public_api_migration decision and stay as historical record.
2026-06-17 00:50:36 -04:00
ed ef1b0a1c6d docs(styleguide): add AI Agent Checklist section against tech rot 2026-06-16 10:29:26 -04:00
ed b447f66818 docs(styleguide): add 5 sections clarifying the convention's boundaries 2026-06-16 09:06:54 -04:00
ed e92003d35d docs(styleguide): add 2026-06-12 doc sync forward-references to error_handling.md 2026-06-12 16:47:30 -04:00
ed 85cf3fbd98 docs(styleguide): add canonical reference for Data-Oriented Error Handling 2026-06-11 23:28:43 -04:00