Repository navigation
v2.4.2
BambooAI 2.4.2
The words beside the numbers, read more carefully. This release refines the context feature of 2.4.0: what the Coder records about each passage, how those records line up with the training data by day, and how the Analyst's replies are read. There are no new features. The executor image moves to v62.
The codes table
Each code now carries four more columns.
direction: whether the passage points worse, better or neutral for the person, against their usual state. It is not the tone of the words: a denial ("not tired today") points better, a problem that has eased but is still there points worse.basis: said or inferred.about: the day, or the range of days, the reading describes, when that is not the passage's own day.day: the day the reading describes, as one column to match on:about's first day, else the passage's own day. Match codes to the numbers byday, not by the date the passage was written. The words and the numbers are often days apart.
A code is recorded once for each day it is about. A night's sleep is dated the morning it ends.
The passages table gains two columns: activity_date, the day of the activity a message hangs on when it was written later, and copy_of, naming the earlier passage a text repeats word for word. A copy is coded once, as the passage it repeats.
The coder
- Tags (one-word labels) and copies are no longer sent to the
Coder. They are counted on the map instead. - Each batch carries the passages before it for reference, so a short reply is read in its thread.
- Reading version 4: the first Intervals.icu load of each subject after upgrading re-reads their passages once, about one
Codercall for every twenty. Later loads reuse the stored codes as before.
The map in the data description
- Calendar entries are tallied by their category: a kind whose every entry opens with a category token (a race priority, a sick day, a season start) shows the count of each.
- A line says which way the codes point, the most pointed codes first, and how many readings were inferred rather than said or are about other days than their passage's.
The rider profile
- The Settings line names each custom zone set with the stream it is cut on.
- The profile says which end of the wellness scales is the good one, for each scale the account tracks.
The Analyst
- The contract says what the
CTXcalls return: text to print, or rows withas_frame=True. Runs had lost turns treatinggrep's text as rows. - The report turn runs at medium reasoning effort; a second attempt after a lost reply asks for less.
- On the report turn, a reply shaped like the report but missing its marker lines is taken as the report.
- Claude Sonnet 5.5 sometimes writes an action as tool-call markup in the text of its reply. Such a reply is now read from the call: the code runs as a cell, and the pane shows it as a cell rather than a lost turn.
Configuration
- The DeepSeek seats in the configuration template move to
deepseek/deepseek-v4.1-flash-1017.
Upgrading
pip install -U bambooai
- The first
bambooai serverebuilds the executor image (v62). - The first Intervals.icu load of each subject with the context on takes longer: the passages are re-read (reading version 4).
- A codes file from an earlier load gains its
daycolumn the first time a run reads it. - Code that reads
CTX.codes()keeps working: columns are added, none are renamed or removed.
On the hosted service there is nothing to do.