github feder-cr/AIHawk v0.53.0
0.53.0

latest releases: v0.54.0, v0.53.1
4 hours ago

The lifecycle had seven steps - declare, wake, look, act, rebuild,
remember, close - because a command aimed at a browser that was not
running STARTED one, and an action whose browser had died REBUILT it and
ran the action again. Each was a place to be wrong, and both were. The
owner cut it on 2026-09-14. What is left:

  • browser_open opens a browser and nothing else does. With no arguments
    main is the person this session already was: seed, exit and profile
    read from the file, which browser_open writes and which nothing else
    touches. Any argument is a decision and goes through the planner.
  • Every other tool goes through one funnel, Work.acting. A browser that
    is not open answers the main browser is not open. Call browser_open to open it.; one that was open and died answers the main browser is gone: it closed or crashed. Call browser_open to open it again; it comes back as the same person. and is forgotten, so the next open
    starts clean. A closed target raised under an action is the same fact
    and the same sentence. A page that refuses passes through untouched.
  • browser_close frees the engine and keeps who it was.
  • The live pane reads the not-open sentence as idle and every other
    sentence as something to say.

What died with it: registry.py (367 lines - locks per key, refusals,
tab numbering across rebuilds, ensure/drop/declare/on_change/is_dead),
half of work.py (ready, looking, already_open, retrying, the pages
owed and seen, three sentences for "nothing running"), the tab
bookkeeping in session.py (ids, counter, active flag, close_page: a
browser drives one page, the newest live one of its context), and the
strip of other browsers in the page with its stylesheet, empty by
construction once nothing is "declared and not started". Nine test
files of the old lifecycle are one file of the new one.

The model's instructions open with it, and so does the system prompt.
Driven with the real model from this tree: asked to read a heading with
nothing open, it called browser_open first, then navigated. The page
loads with no script error and one screen.

Eight mutations, seven killed and one equivalent (remember called for the
helper writes nothing either way). Suite 584; engine tests 32 green on
firefox-30.

Don't miss a new AIHawk release

NewReleases is sending notifications on new releases.