Files

80 lines
2.2 KiB
Python

"""Focused Builder conversation policy for lightweight resume completion.
Builder collects confirmed resume facts only. It never calls the deep-optimization
graph, job rubrics, Office data, or JD analysis. Candidate rewrites remain optional
until the user explicitly chooses one in the confirmation card.
This package was split from the original single module to keep every code file
within the 200-line harness limit. The public surface is re-exported here so
existing `from . import builder_conversation` / `from app.builder_conversation
import ...` consumers keep working unchanged.
"""
from __future__ import annotations
from .candidate import (
_candidate_rewrite,
_fact_is_preserved,
_material_fact_fragments,
_normalize_material_fact,
_uncovered_material_facts,
)
from .component_events import process_component_event
from .constants import (
GAP_PROMPTS,
IDENTITY_CHANGE_TERMS,
MAX_GAP_DIMENSIONS,
MAX_GAPS_PER_TURN,
NO_INFORMATION_PATTERNS,
SECTION_GAP_DIMENSIONS,
SECTION_HEADINGS,
SECTION_KEYWORDS,
SECTION_PRIORITY,
u,
)
from .flow import _begin_edit, _process_detail_message, process_message
from .followups import (
_continue_recent_entry,
_redisplay_revision_candidate,
reconcile_last_confirmed_entry,
)
from .predicates import (
_dimension_present,
_entry_by_id,
_gap_prompt,
_is_no_information_reply,
_is_revision_instruction,
_looks_like_recent_continuation,
_matching_entries,
_next_gap_dimensions,
_requested_section,
_requests_identity_change,
_requests_new_entry,
)
from .save import save_entry
from .skills import _builder_skill_candidates, _process_skill_selection, _skill_choice_card
from .state import (
_clear_draft,
_completed_sections,
_dedupe_strings,
_gap_state,
_highlights,
_merge_fact_text,
_public_entry,
_reset_gap_state,
_set_stream_phases,
ensure_builder_state,
)
from .turns import (
_entry_choice_card,
_entry_label,
_fact_prompt,
_next_step_turn,
_record_card,
_section_choice_card,
recommended_section,
welcome_turn,
)
__all__ = [name for name in dir() if not name.startswith("__")]