Teknium
db03f855c7
Merge branch 'simp/hclia-runtime' into simp/integration
2026-09-02 14:19:38 -07:00
Teknium
6ad4ed9fba
Merge branch 'simp/hclia-adapters' into simp/integration
2026-09-02 14:19:38 -07:00
Teknium
52028c4464
Merge branch 'simp/hclia-creds-b' into simp/integration
2026-09-02 14:19:38 -07:00
Teknium
81ddc99705
Merge branch 'simp/cli-update' into simp/integration
2026-09-02 14:19:37 -07:00
Teknium
50be642e52
Merge branch 'simp/cli-misc' into simp/integration
2026-09-02 14:19:37 -07:00
Teknium
0526bae1c4
Merge branch 'simp/cli-main' into simp/integration
2026-09-02 14:19:37 -07:00
Teknium
6625f8e5b4
Merge branch 'simp/cli-clipy' into simp/integration
2026-09-02 14:19:36 -07:00
Teknium
4dfd383765
Merge branch 'simp/agent-loop' into simp/integration
2026-09-02 14:19:36 -07:00
Teknium
673b2c6d5a
Merge branch 'simp/agent-runagent' into simp/integration
2026-09-02 14:19:36 -07:00
Teknium
e5e4f91b57
Merge branch 'simp/agent-tools' into simp/integration
2026-09-02 14:19:36 -07:00
Teknium
53ab9d1ed0
Merge branch 'simp/agent-init-pb' into simp/integration
2026-09-02 14:19:35 -07:00
Teknium
99433742dc
refactor(tui): extract the prompt turn into prompt_turn.py; compact methods_*/session_*/agent_callbacks; split _start_agent_build into scope/wiring helpers
...
- server.py 7663 -> 5319: _run_prompt_submit and its goal/loop/voice/scope
phases move to tui_gateway/prompt_turn.py (bound via method_ctx.bind_module);
_start_agent_build split into _bind/_release_build_profile_scopes,
_deferred_build_agent_kwargs, _wire_session_agent, _start_session_services;
_load_enabled_toolsets split (_enabled_mcp_server_names, _resolve_explicit_toolsets).
- methods_slash: _LIVE_SLASH_OUTPUT dispatch table; methods_tools: _SLASH_BUILTINS,
_guarded; tool_progress: _PROGRESS_HANDLERS; methods_config_set:
_REASONING_DISPLAY_WORDS; methods_voice: _VOICE_TOGGLE_ACTIONS.
- Unified: _denied_source (methods_session) replaces _WORKER_SOURCES in
methods_profiles; _compress_live_with_feedback / _compute_host_slash shared by
the slash mirror and /compress; _end_voice_chat shared by stop-phrase paths;
_watcher_mtime_ns; _reaper_session_is_detached_idle; _notif_* helpers.
- Dead: _profile_dir_or_err, _resume_info, _slash_builtin_table (refs.py: 0 hits).
- acp_adapter/server.py: docstring compaction only (AST-identical).
- Every file semantically reviewed hunk-by-hunk for wire/log/lock/order parity.
2026-09-02 14:09:13 -07:00
Teknium
beacf4e942
refactor(tui): resume — verified partial work (acp_adapter + methods_* compaction, bind_module via globals())
2026-09-02 14:09:01 -07:00
Teknium
a07dceb01f
refactor(adapters/small_group): 5147->3565; line/email/ntfy/homeassistant/sms send-family and standalone-send dedupe, god-method extraction, dead find_pending_for_chat removed
2026-09-02 14:06:48 -07:00
Teknium
8f1ef66b1f
refactor(adapters/p2p_group): 12752->8794; buzz/photon/a2a/raft dedupe (sidecar paths unified in photon package, JSON-RPC helpers, Nostr event builders), dead a2a security getters + stream_message removed
2026-09-02 14:06:36 -07:00
Teknium
6e5b084b8b
refactor(adapters/discord): 11250->7733; _HermesView base for 6 component views (1074-line factory -> 634), _send_prompt/_resolve_channel/_send_url_media/_send_local_file unification, opus loading and setup helpers extracted, dead _discord_allow_any_attachment removed
2026-09-02 14:06:32 -07:00
Teknium
cc11c6bfdd
refactor(adapters/telegram): 11957->8819; unify send/edit retry classification, media caching, auth gates, model-picker branches, polling recovery; compact docs
2026-09-02 14:06:32 -07:00
Teknium
581d97e545
refactor(adapters/api_server): 10589->8871; extract OpenAI-compatible routes into api_server_openai_routes.py, dedupe SSE/response builders, drop dead idempotency acknowledge path
2026-09-02 14:06:32 -07:00
Teknium
be5c6a2fd8
refactor(agent/prompt): remove dead code, unify duplicated helpers, compact docstrings across prompt/skill/redaction modules
...
Dead (zero refs): coding_system_blocks, get_friendly_tool_labels, get_scan_ordered_skills_dirs,
_project_quarantine_cache_clear, clear_stable_prefixes, _redact_http_request_target_query_params,
_has_http_method_substring, PromptCachePlan.marker_count, display _diff_* colour thunks (-> _diff_ansi),
pass-through RedactingFormatter.__init__.
Unified: _slugify -> slugify_skill_name; reload diff -> diff_command_snapshots; _is_summary_item ->
is_compaction_summary_message alias; sanitizer walkers -> _sanitize_messages/_sanitize_structure;
assignment redaction passes -> _redact_assignments/_should_redact_assignment; quiet-mode tool lines -> _CUTE_LINES table.
2026-09-02 13:53:57 -07:00
Teknium
77743eac8a
refactor(agent/models): compact pricing snapshot, billing/subscription views, reasoning helpers
...
- usage_pricing: _snap() builder for official-docs pricing entries (table values identical, verified by dump), shared source/version dicts, drop dead DEFAULT_PRICING
- models_dev: _registry_models/_iter_model_entries/_extract_limit helpers replace repeated registry walking; drop dead ModelInfo.format_cost
- billing_view/subscription_view: OrgRoleCapability mixin replaces duplicated is_admin/can_change_plan; shared fetch_portal_state/parse_org_fields
- reasoning_effort/timeouts/summaries, thinking_timeout_guidance, portal_tags: dispatch tables and compacted comment essays; drop dead CODEX_RESPONSES_EFFORTS alias and _match_any
2026-09-02 13:52:51 -07:00
Teknium
449f8c954d
test(agent): repoint send-path clone AST contract at turn_context.build_api_messages
2026-09-02 13:41:27 -07:00
Teknium
d15c61b5dc
refactor(state): split SessionDB into domain mixins and free-function modules; unify SQL boilerplate
...
hermes_state.py 17,220 -> 6,442 LOC. Behavior-neutral: every moved body is
AST-identical to the original, verified per extraction.
SessionDB core
- _write_sql / _write_rowcount / _read_one / _read_all replace ~120 copies of
the `def _do(conn): conn.execute(...)` + `_execute_write(_do)` and
`with self._read_ctx() as conn: row = conn.execute(...).fetchone()` shapes.
- _set_lineage_column replaces four copies of the recursive compression-lineage
UPDATE (archived / pinned / hidden / last_read_at).
- _read_session_number unifies the three compression counter readers.
- Dead (zero refs repo-wide): restore_rewound, delete_gateway_routing_entries,
_is_duplicate_replayed_user_message, SessionPortabilityMixin.get_first_assistant_text.
New mixins bound onto SessionDB via the MRO (logger name stays "hermes_state"):
hermes_state_messages SessionMessagesMixin 48 methods
hermes_state_compression SessionCompressionMixin 30
hermes_state_gateway SessionGatewayMixin 26
hermes_state_maintenance SessionMaintenanceMixin 13
hermes_state_usage SessionUsageMixin 12
hermes_state_titles SessionTitlesMixin 13
hermes_state_telegram SessionTelegramTopicsMixin 11
Origin-internal symbols resolve through a lazy `from hermes_state import ...`
inside the few methods that need them (no import cycle).
New free-function modules, every name re-imported into hermes_state so
`hermes_state.<name>` (and test monkeypatches on it) keep working; intra-module
calls to patched helpers go through the lazy origin import:
hermes_state_repair repair/backup/preflight (43 defs)
hermes_state_wal journal-mode / PRAGMA policy (33 defs)
hermes_state_dbfile header probes, zeroed-db quarantine, stats, holders (21 defs)
Existing mixins: search — shared FTS MATCH/LIKE builders, unified rebuild
status/step/finish engines, state_meta helpers; schema — one legacy/v23 FTS init
branch, shared _live_pk_columns, Row/tuple dual access dropped; portability —
shared _PREVIEW_RAW_SUBQUERY_SQL and _rich_row; common — single
stat_db_file_identity (was 3 copies), AUTO_VACUUM_MIN_FREELIST_RATIO.
Docstrings/comments hand-compacted (AST-identical) keeping every invariant,
ordering rule, failure mode and WHY. Schema SQL, migration order and PRAGMAs
untouched. test_repair_path_has_no_bare_connects repointed to hermes_state_repair.
2026-09-02 13:32:13 -07:00
Teknium
de109d4097
refactor(web): extract chat-tab WebSocket routes into web_routers/chat_ws.py
2026-09-02 13:32:06 -07:00
Teknium
94309ad40a
refactor(web): extract raw-config + analytics routes into web_routers/analytics.py
2026-09-02 13:32:02 -07:00
Teknium
659c6b9fff
refactor(gateway): simplify session, status, stream_consumer, kanban_watchers, relay adapter, hosted-room driver/discussion/replicas, shutdown/lifecycle, pairing, channel_directory, control_socket and small modules
2026-09-02 13:31:54 -07:00
Teknium
cc9ef82355
refactor(gateway-cli): dispatch-table subcommands and shared service helpers in hermes_cli/gateway.py
...
hermes_cli/gateway.py (9178 -> 6906):
- `hermes gateway` subcommand routing: if/elif chain -> _GATEWAY_SUBCOMMANDS dispatch table of
_cmd_* handlers; _stop_installed_service and _refuse_from_inside_gateway unify the
stop/restart/uninstall service-stop and self-target guards.
- One systemd unit template; _systemctl_show, systemctl reset+action, is-active probes,
_installed_service_kind ladder (3 sites), launchctl-list PID probe, launchd bootstrap+kickstart
helper, legacy-unit removal loop, loop-tick witness ping, ps/wmic line parsers, planned-stop
marker helper, _CAPTURE_TEXT subprocess kwargs (21 sites), _gw_windows() accessor (15 lazy
imports).
- run_gateway startup helpers, reaper exclusion set, Windows process listing extracted; wizard
service actions and platform-setup prompts unified (_setup_service_action).
- Dead: _windows_scheduled_task_running (test-only), _container_systemd_operational (inlined),
whatsapp/email/matrix built-in status branches (those platforms are registry plugins).
- try/except-pass around single statements -> contextlib.suppress; comments/docstrings compacted
to the WHY (bounded_probe_run vs subprocess.run on Windows, pythonw launcher-stub filtering,
raw-record vs validated-probe exclusion in the orphan reaper, Scheduled-Task Ready-vs-Running).
- `hermes gateway --help` byte-identical.
2026-09-02 13:31:44 -07:00
Teknium
75bafc197a
refactor(plugins): unify provider registration and unload paths in hermes_cli/plugins.py
...
hermes_cli/plugins.py (7193 -> 4961):
- _register_scoped_provider: one body for the 8 scope-keyed register_*_provider methods;
_track_callback/_track_mapping_entry unify manager-mapping lease tracking (4 sites);
_track_scoped_registration for the ownership ledger. Public method names, signatures,
return values and warning strings unchanged.
- Manifest v2 type checks table-driven (_manifest_field_of_type); _unload_scoped split into
_unload_target_keys + _reset_after_unload_all; _gate_manifest/_record_placeholder out of
_discover_and_load_inner; _track_tool_override_policy/_attribute_registrations out of
_load_plugin_scoped; bounded hook worker lifted into _run_hook_callback_bounded;
prompt-section rendering extracted; resolve_pre_tool_block delegates to
_dispatch_pre_tool_call_hooks; _evict_modules (3 sites); _remove_name_if_unowned and
_nowait_plugin_set unify unowned-name cleanup and *_nowait probes.
- Dead (zero references outside their own test): unload_plugins, has_portable_mcp_servers,
_classify_entrypoint_kind, _reset_event_bus, get_plugin_subscriptions,
get_telegram_handler_factories, pass-through _restore_* helpers; _env_enabled is now an alias
of utils.env_var_enabled (plugins/memory still imports it).
- Docstrings/comments compacted; contract sentences and rationale kept (multi-profile ledger
keying, persistent auth-provider registration, capability declaration is not a grant).
2026-09-02 13:31:44 -07:00
Teknium
13fb87af92
refactor(cron): decompose scheduler run_job/_deliver_result and dedupe delivery lanes
...
cron/scheduler.py (8535 -> 6353):
- _deliver_result split into per-target helpers: _resolve_target_transport (live/relay/standalone
transport + enablement), _deliver_via_live_adapter (_live_route_metadata for Telegram DM-topic
vs forum routing, _live_send_text with the cancel()-based timeout disambiguation,
_live_send_media, _seed_live_delivery_sessions), _standalone_send/_deliver_standalone. The
three interpreter-shutdown skip branches and the repeated log+append+continue pattern collapse
into one _note_target_error / one shutdown message; _TargetDelivery carries per-target state.
- Thread/channel session seeding unified into _seed_cron_session (was two near-identical
functions).
- run_job decomposed into _run_no_agent_job, _apply_monitor_gate, _load_cron_job_config
(_CronJobConfig), _resolve_job_runtime, _check_model_drift, _open_cron_session_db,
_run_agent_with_watchdog, _finalize_cron_session, plus one _run_doc_header and one _audit
closure for the success/failure paths.
- _run_one_job_body: ownership-lost bookkeeping, delivery composition and outcome classification
extracted; tick: _acquire_tick_lock/_release_tick_lock, _maybe_reap_dead_owners,
_sweep_stale_inflight_for_tick, _process_due_job, _submit_with_guard.
- _build_job_prompt: context_from injection and skill loading extracted; one
_prepend_context_block for the four fenced-data blocks.
- One _start_heartbeat_thread for the script- and fire-claim heartbeat threads.
- Dropped unreachable return in SharedRouteAdapters.get; boolean-return and nested-if shapes
collapsed.
- Comments/docstrings compacted by hand, rationale kept (fd-leak reason for the late SessionDB
close callback, title-persistence rules, no_agent classification gate, inactivity-vs-provider
timeout ordering, stale-claim force-release, interruption token keying).
2026-09-02 13:31:43 -07:00
Teknium
401efb0b2b
refactor(cli): decompose _cmd_update_impl into phase helpers, unify duplicated update helpers, compact comments
...
hermes_cli/update_cmd.py 11217 -> 10204 LOC; _cmd_update_impl 2797 -> 521 LOC.
Decomposition (behavior-neutral, AST free-name verified) — _cmd_update_impl is
now a thin orchestrator calling, in order:
_clear_windows_venv_holders_or_exit -> _prepare_checkout_for_update
(-> _CheckoutPlan) -> _repair_current_checkout | _pull_updates ->
_sync_python_dependencies_after_pull -> _run_post_update_maintenance ->
_restart_gateway_fleet_after_update (-> _GatewayRestartOutcome;
_restart_systemd_gateway_units) -> _resume_windows_gateways_and_merge_outcome
-> _verify_fleet_after_update. _resolve_manage_cmd hoisted to module level.
Unified helpers: _git_run (49 captured git subprocess.run sites),
_systemctl / _systemctl_reset_and_restart (17 sites + 2 pairs),
_sweep_bytecode_after_update (3x), _print_bundled_skills_sync_report (ZIP+git),
_ensure_venv_pip (ZIP+git), _self_and_non_gateway_ancestor_pids (2x),
_record_update_step (4x), _write_gateway_update_exit_code for the 3 inline
".update_exit_code" writes. Dropped duplicate nested copies of
_wait_for_service_active/_service_restart_sec/_print_items, dead
upstream_exists, a dead if/pass branch and unused imports.
Comments/docstrings hand-compacted (236 blocks, AST-identical with docstrings
normalized); rationale/invariant sentences kept.
Tests: source-inspection guards repointed to the helper that now owns the code
(test_update_self_lock, test_update_fleet_check_fail_closed,
test_update_apply_shallow_count); new regression test drives the real Windows
resume/merge helper.
2026-09-02 13:30:54 -07:00
Teknium
3c7069bdcb
refactor(gateway): dead-code removal, helper unification, defensive-layer collapse and rationale-preserving comment compaction across 40 modules
...
authz_mixin, browser_control_broker, delivery, delivery_ledger, display_config, drain_control,
hosted_room_links/peer/policy_checkpoint, hosted_rooms, platform_registry, relay/__init__,
relay/ws_transport, run.py and slash_commands.py (comments), session_context, session_state,
streaming_tts_consumer, turn_lease and small modules.
- HostedRoomPolicyCheckpoint._apply_event -> per-kind handler table
- WebSocketRelayTransport._handle_frame -> frame-handler table
- GatewayAuthorizationMixin: unified adapter setting/flag/extra readers
- dead symbols removed (verified zero references): RoomLinkProbe/select_room_link,
relay_bot_username, is_restart_loop_tripped, debug_rows, DeadTargetRegistry.all_dead,
BrowserControlBroker.detach_owner/_prune_tickets, StreamingTTSConsumer.started/_enqueue_done/
_iter_stream_chunks/_next_stream_chunk, RecoverableHandleCache.status_for, _auth_env,
_copy_default_catalog, _parse_timestamp_prefix, _present_* helpers, _send_result_error_kind,
_truthy_env, SessionFieldView/TurnLeaseTokenView dunder shims, and their orphaned tests.
- lost WHY/invariant text from the earlier compaction restored compactly (541 hunks audited)
2026-09-02 13:30:50 -07:00
Teknium
c408601937
refactor(agent/review): simplify curator, background_review, verify, insights, title and learning modules (-22% LOC)
...
Cluster: agent/{curator,curator_backup,background_review,review_engine,
review_idle_queue,insights,learning_graph,learning_graph_render,
learning_mutations,learn_prompt,verification_evidence,verification_stop,
verify_hooks,side_question,title_generator,turn_summary,
manual_compression_feedback,trajectory,moa_trace,trace_upload,verify/*}.
13662 -> 10693 LOC (-2969, -21.7%), behavior-neutral.
- Dead code: 27 private helpers with zero references removed
(_auto_title_session, _resolve_review_model, _parse_make_targets,
_filter_verifiable_paths, _find_subsequence, _is_under_root/_temp_dir,
_merge_runs, learning_graph_render bucket/period/node helpers,
_memories_dir/_memory_local_index/_node_detail, _cron_jobs_file,
_retention_cutoff, _scope_for_args, _clean_token, _count_diff_lines,
_ordered_verbs, _hermes_meta, _iter_skill_files).
- Unified helpers: _read_config_section (curator + curator_backup),
_write_file/_write_json (4 curator report writers), _msg_text
(background_review <- side_question), _report_failure/_notify_title
(title_generator instant/auto paths), _is_under (verification_evidence),
_scoped SQL pair builder + _query (insights), _optional_lock
(background_review), verify.recipes table-driven detection.
- if/elif routing -> dict dispatch: side_question role labels,
curator_backup summary bits, learning_graph_render buckets, insights
section rendering, verify recipe pickers.
- Redundant defensive layers, single-use wrappers and verbose narrative
comments collapsed; every non-obvious WHY/invariant kept in compact form.
Verification: parity.py (all REMOVED symbols zero-ref), import smoke for
every module + cli/run_agent/gateway.run/hermes_cli.main/
agent.conversation_loop/tui_gateway.server, old-vs-new fuzz parity on all
shared pure functions, SQL trace parity for insights and
verification_evidence, cluster tests 1354 passed / 0 failed (46 files).
2026-09-02 13:30:25 -07:00
Teknium
645db06053
refactor(agent): extract 413/context-overflow compression recovery into agent/turn_overflow.py
2026-09-02 13:30:17 -07:00
Teknium
25b165add5
refactor(agent): extract terminal API-failure result builders into agent/turn_recovery.py
2026-09-02 13:30:16 -07:00
Teknium
fefc471deb
refactor(agent): extract post-classification one-shot recovery chain into agent/turn_recovery.py
2026-09-02 13:30:15 -07:00
Teknium
5d78bd817d
refactor(plugins): disk-cleanup and security-guidance — table-driven scans/patterns, safety lists unchanged
2026-09-02 13:30:10 -07:00
Teknium
517f593af9
refactor(plugins/google_meet): run_bot extraction, subcommand tables, shared json-file helper, node protocol dedupe
2026-09-02 13:30:10 -07:00
Teknium
74edfe04e9
refactor(plugins/spotify): action dispatch table, single request helper
2026-09-02 13:30:10 -07:00
Teknium
eb60dd519e
refactor(plugins/teams_pipeline): subcommand dispatch, unified download/Graph helpers, compact models
2026-09-02 13:30:10 -07:00
Teknium
238260e6aa
refactor(plugins/dashboard_auth): shared session/JWT/config helpers in _shared; compact basic/drain/nous/self_hosted
2026-09-02 13:30:10 -07:00
Teknium
e43f381b4e
refactor(plugins/browser): shared BaseCloudBrowserProvider for browser_use/browserbase/firecrawl
2026-09-02 13:30:10 -07:00
Teknium
b5b62aa83d
refactor(plugins/image_gen): shared _common (config/key/save/error/picker helpers), convert all 8 providers, per-model tables
2026-09-02 13:30:10 -07:00
Teknium
64f430a051
refactor(plugins/memory): honcho — extract session context/auth/peers/migration, dialectic, client cache, tool schemas; unify _parse_* config helpers; table-driven CLI
2026-09-02 13:30:09 -07:00
Teknium
3cd4d6d69a
refactor(plugins/memory): hindsight — split settings/embedded/setup modules, unify config parsing, remove dead helpers
2026-09-02 13:30:09 -07:00
Teknium
365485a9f6
refactor(plugins/memory): openviking — remove dead search/rebuild/migrate paths, extract setup/CLI with dedupe, action dispatch tables
2026-09-02 13:30:09 -07:00
Teknium
624a752e79
refactor(agent/runtime): deadline/file_safety/estop/lifecycle leaf modules — dedupe result plumbing, drop dead guard code
...
- deadline: _result()/_abandon() replace 7 BoundedResult constructions and 2
cancel+callback sites; timers handled as a list; dead raise_if_timed_out removed.
- file_safety: retired classify_cross_profile_target (0 refs; get_cross_profile_warning
stub kept for external callers), _home_and_resolved/_mirror_warning shared by
the sandbox/container mirror guards; _find_sandbox_mirror_segments inlined.
- estop: _hermes_home/_canonical_root now the file_safety helpers;
_reset_log_state_for_tests inlined into its only test.
- subagent_lifecycle: _validate_request driven by _UNSUPPORTED_REQUEST_FIELDS table.
- turn_liveness: dead start()/_abort_message removed, _emit_warning shared.
- process_bootstrap: _enable_happy_eyeballs reused by the client variant.
- Comment/docstring compaction across the remaining leaf modules.
2026-09-02 13:29:48 -07:00
Teknium
4bfc55fbf0
refactor(agent/runtime): hooks/guardrails/dispatch — unify shell-hook and webhook plumbing, table-driven guardrail thresholds
...
- shell_hooks is the shared home: _ToolMatcherMixin (matcher compile + matches_tool),
_payload_fields, _forget_home_registrations, _home_key, _utc_now_iso now serve
outbound_webhooks too (copies deleted; every log string byte-identical).
- shell_hooks: response parsing is a per-event dispatch table; _spawn diagnostic
dict + _evaluate_result shared by the live callback and run_once;
_locked_update_approvals POSIX/non-POSIX bodies merged via ExitStack.
- tool_guardrails: ToolCallGuardrailConfig thresholds from a _THRESHOLD_SOURCES
table (nested-wins-over-flat preserved); _int_at_least replaces
_positive_int/_non_negative_int; observe_identical_call (0 refs) folded into
observe_call; _halt helper for hard-stop decisions.
- tool_dispatch_helpers: _plan_tool_batch_segments split into _batch_admission +
close/extend helpers with the post-hoc normalization merged in.
- Comment/docstring compaction keeping every stated rule.
2026-09-02 13:29:48 -07:00
Teknium
00cd12f7e4
refactor(agent/relay): fold relay_llm attempt scaffolding into _ManagedAttempt; dedupe runtime session/scope paths; drop dead relay_runtime module-level shims
2026-09-02 13:29:48 -07:00
Teknium
6a88ec4eb3
refactor(agent/adapters): simplify azure identity, response guards, error surface, retry utils (-603 LOC)
...
Drop dead read_error_body_or_default / LAYER_RUNTIME; inline single-use
_build_default_credential/_safe_close; compact incident narratives to their
invariants in the guards. Byte-cap and deadline semantics of
read_streaming_error_body verified identical.
2026-09-02 13:29:47 -07:00
Teknium
2ad284b473
refactor(agent/runtime): pet — shared flood/placement helpers in atlas, provider resolution loop, dead helpers removed
...
- atlas: _border_flood/_unvisited_components/_place/_clear_region/_remove_masked
replace 6 hand-rolled flood + canvas-composite loops; _sever_expected_gutters
uses channel ops instead of per-pixel writes; dead _color_distance,
_has_slot_padding, _slot_bounds, atlas_to_webp_bytes, FRAME_COUNTS (0 refs).
- render/store: dead _open_sheet/_png_bytes/_union_alpha_bbox/_thumbs_dir removed.
- imagegen: _available() unifies 3 provider-availability checks; forced/preferred
provider resolution collapsed into one ordered loop (same precedence).
- state: derive_pet_state as a ranked table (same priority order).
- Comment/docstring compaction keeping the pipeline invariants.
2026-09-02 13:29:47 -07:00
Teknium
63abd4d174
refactor(agent/adapters): simplify plugin_llm, backend_identity, stream hooks (-447 LOC)
...
PluginLlm's four public entry points share _gate/_finish/_host_kwargs; drop
dead classify_failure_scope/_REASON_SCOPES (and their tests) and unify the
three _norm_* helpers; should_skip_candidate routes through a scope predicate
table. Injected caller kwargs, audit dicts and log lines unchanged.
2026-09-02 13:29:47 -07:00