v1.101.0
·
1313 commits
to main
since this release
What's New in v1.101.0
Added
- Hook-Intent Abstraction Layer — Defines little-loops hooks in terms of host-agnostic intents (
PreCompact,SessionStart) backed byLLHookEvent/LLHookResultdataclasses. Python handlers inlittle_loops.hooks.*replace per-host shell scripts; adapters underhooks/adapters/<host>/translate each host's native event into the wire format and back. (FEAT-1116) - PreCompact and SessionStart Python Handlers — Ported
precompact-state.shand the session-start injector to pure-Python core handlers, with a Claude Code bash shim adapter and an OpenCode TypeScript adapter (hooks/adapters/opencode/index.ts). (FEAT-1449, FEAT-1450, FEAT-1455) LLHookIntentExtensionProtocol — Third-party packages can contribute hook intent handlers via aprovided_hook_intents()method; detected viahasattr()inwire_extensions()and merged into the global hook-intent registry. (FEAT-1452)- OpenCode Adapter for Hook Intents — OpenCode TypeScript plugin calls
python -m little_loops.hooks <intent>viaBun.spawn, settingLL_HOOK_HOST=opencodeso dispatched handlers can identify their caller. (FEAT-1451) - "Write a Hook" Authoring Guide — New
docs/claude-code/write-a-hook.mdcovers the intent model, handler signature,LLHookIntentExtensionregistration, adapter flow, and pure-function + subprocess testing patterns. (FEAT-1458) type: learningFSM State — Learning states prove external-API/SDK assumptions against the learning-tests registry before advancing. Iteratestargetsin order; missing or stale records trigger/ll:explore-api; refuted records or exhausted retries route toon_blocked. Exempt fromhard_maxenforcement. (FEAT-1283)/ll:verify-issue-loopSkill — Generates a ready-to-run FSM verification loop YAML from a single issue's acceptance criteria. Each criterion becomes a dedicatedverifystate that fails fast if unmet. (FEAT-1310, FEAT-1446)/ll:explore-apiSkill — Explores an external API or SDK target and writes aLearnTestRecordto the learning-tests registry (.ll/learning-tests/<slug>.md). Used bytype: learningFSM states. (FEAT-1287)ll-learning-testsCLI — Query and manage learning-test registry records:check,list,mark-stale. Entry point atscripts/little_loops/cli/learning_tests.py. (FEAT-1286)- Per-Edge Cycle Detection —
max_edge_revisits(default 100) terminates a loop immediately withterminated_by="cycle_detected"when any state→state edge fires more than the limit, preventing tight two-state oscillations from draining the entiremax_iterationsbudget. Edge counts survive--resume. (dd26036) - Goals Discovery Fallback for
scan-product— When.ll/ll-goals.mdis absent,scan-productsynthesizes a temporary goals context from existing docs (README, roadmaps, vision files) instead of hard-stopping. (ENH-1442) - Hook-Intent Reference Documentation — Updated
docs/reference/API.md,EVENT-SCHEMA.md,CONFIGURATION.md, andARCHITECTURE.mdwith full field tables and dispatch contract for hook intents. (FEAT-1453, FEAT-1459)
Changed
- Progressive Throttling for FSM Loop Tool Calls — FSM loops now apply exponential back-off when tool-call rates exceed configurable thresholds, preventing runaway tool use in tight loops. (ENH-1115)
autodevRoutes Dead-End Decisions Before Size-Review — When adecidestate fails,autodevnow routes through triage before size-review, preventing incorrect decomposition of well-scoped issues whose bottleneck is an unresolved decision. (ENH-1415)- New-Skill Classification Policy — Added a skill classification decision tree to
CONTRIBUTING.mdandll-generate-skill-descriptionsCLI for managing the skill listing budget. (ENH-1395, ENH-1396) - Product Analyzer Improvements — Fixed output schema inconsistencies, removed double-deduplication between
product-analyzerandscan-product, and wired product setup into/ll:init. (ENH-1401, ENH-1402, ENH-1403)
Full Changelog: v1.100.0...v1.101.0