generated from kgod/ai-review-template
80 lines
2.2 KiB
Python
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("__")]
|